summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
authorTimotej Lazar <timotej.lazar@araneo.si>2019-08-01 21:25:59 +0200
committerLudovic Courtès <ludo@gnu.org>2019-08-22 17:59:30 +0200
commit5094da0b83a413778c2d364641c3972aae0a900f (patch)
tree19c69c3395d1eb74eb954f2f9f6fd1424796e82d /gnu
parenta83e2a01fb5438c660166e12b0d7df5c470b9e4a (diff)
downloadguix-5094da0b83a413778c2d364641c3972aae0a900f.tar.gz
gnu: Add reaver.
* gnu/packages/networking.scm (reaver): New variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/networking.scm48
1 files changed, 48 insertions, 0 deletions
diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index a8f98c54df..9383e1a1d8 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -975,6 +975,54 @@ force the Wi-Fi Protected Setup (WPS) PIN by exploiting the low or
 non-existing entropy of some access points.")
     (license license:gpl3+)))
 
+(define-public reaver
+  (package
+    (name "reaver")
+    (version "1.6.5")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "https://github.com/t6x/reaver-wps-fork-t6x/releases/"
+                    "download/v" version "/" name "-" version ".tar.xz"))
+              (sha256
+               (base32
+                "0sva3g0kwgv143n9l3lg4qp5iiqz7nk76nr0hwivsnglbhk9sbil"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:configure-flags
+       ;; Save session files to current directory instead of /var.
+       (list "--enable-savetocurrent"
+             "--localstatedir=/tmp/dummy") ; prevent creating /var during install
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'configure 'change-directory
+           (lambda _
+             (chdir "src")
+             #t))
+         (add-after 'install 'install-doc
+           (lambda* (#:key outputs #:allow-other-keys)
+             (chdir "../docs")
+             (let* ((out (assoc-ref outputs "out"))
+                    (doc (string-append out "/share/doc/" ,name "-" ,version))
+                    (man1 (string-append out "/share/man/man1")))
+               (for-each (lambda (file) (install-file file doc))
+                         (find-files "." "README.*"))
+               (install-file "reaver.1" man1)
+               #t))))
+       #:tests? #f)) ; there are no tests
+    (inputs
+     `(("libpcap" ,libpcap)))
+    (propagated-inputs
+     `(("aircrack-ng" ,aircrack-ng)
+       ("pixiewps" ,pixiewps)))
+    (home-page "https://github.com/t6x/reaver-wps-fork-t6x/")
+    (synopsis "Attack tool for Wi-Fi Protected Setup")
+    (description "Reaver performs a brute force attack against an access
+point's Wi-Fi Protected Setup (WPS) PIN.  Once the PIN is found, the WPA
+passphrase can be recovered and the AP's wireless settings can be
+reconfigured.")
+    (license license:gpl2+)))
+
 (define-public perl-danga-socket
   (package
     (name "perl-danga-socket")