gnu: Use HTTPS for almost all gnu.org HOME-PAGEs.
[jackhill/guix/guix.git] / gnu / packages / networking.scm
CommitLineData
f6d9b3de 1;;; GNU Guix --- Functional package management for GNU
89e34644 2;;; Copyright © 2014, 2017 Ludovic Courtès <ludo@gnu.org>
a1c83fef 3;;; Copyright © 2015, 2016 Ricardo Wurmus <rekado@elephly.net>
a2b2aebe 4;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
9e6c7c42 5;;; Copyright © 2015, 2016 Stefan Reichör <stefan@xsteve.at>
95146623 6;;; Copyright © 2016 Raimon Grau <raimonster@gmail.com>
e05647ad 7;;; Copyright © 2016 Tobias Geerinckx-Rice <me@tobias.gr>
42ff54d5 8;;; Copyright © 2016 John Darrington <jmd@gnu.org>
834a2fc1 9;;; Copyright © 2016 Nicolas Goaziou <mail@nicolasgoaziou.fr>
d85b398b 10;;; Copyright © 2016 Eric Bavier <bavier@member.fsf.org>
5ed96226 11;;; Copyright © 2016, 2017 ng0 <ng0@libertad.pw>
307347fe 12;;; Copyright © 2016 Arun Isaac <arunisaac@systemreboot.net>
b747718e 13;;; Copyright © 2016 Benz Schenk <benz.schenk@uzh.ch>
38510546 14;;; Copyright © 2016, 2017 Pjotr Prins <pjotr.guix@thebird.nl>
f6d9b3de
LC
15;;;
16;;; This file is part of GNU Guix.
17;;;
18;;; GNU Guix is free software; you can redistribute it and/or modify it
19;;; under the terms of the GNU General Public License as published by
20;;; the Free Software Foundation; either version 3 of the License, or (at
21;;; your option) any later version.
22;;;
23;;; GNU Guix is distributed in the hope that it will be useful, but
24;;; WITHOUT ANY WARRANTY; without even the implied warranty of
25;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
26;;; GNU General Public License for more details.
27;;;
28;;; You should have received a copy of the GNU General Public License
29;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
30
8a413bca 31(define-module (gnu packages networking)
68b14f2e 32 #:use-module (guix build-system perl)
f6d9b3de
LC
33 #:use-module ((guix licenses) #:prefix license:)
34 #:use-module (guix packages)
35 #:use-module (guix download)
834a2fc1 36 #:use-module (guix build-system glib-or-gtk)
f6d9b3de 37 #:use-module (guix build-system gnu)
9e6c7c42 38 #:use-module (guix build-system python)
8d60dd71 39 #:use-module (gnu packages)
834a2fc1
NG
40 #:use-module (gnu packages admin)
41 #:use-module (gnu packages adns)
82ee141b 42 #:use-module (gnu packages algebra)
834a2fc1
NG
43 #:use-module (gnu packages audio)
44 #:use-module (gnu packages bison)
998afc36 45 #:use-module (gnu packages check)
4fb5f830 46 #:use-module (gnu packages code)
834a2fc1 47 #:use-module (gnu packages compression)
9e6c7c42 48 #:use-module (gnu packages curl)
d85b398b 49 #:use-module (gnu packages databases)
834a2fc1 50 #:use-module (gnu packages flex)
82ee141b 51 #:use-module (gnu packages gettext)
834a2fc1
NG
52 #:use-module (gnu packages gnupg)
53 #:use-module (gnu packages gtk)
9c798f90 54 #:use-module (gnu packages libidn)
834a2fc1
NG
55 #:use-module (gnu packages linux)
56 #:use-module (gnu packages lua)
89e34644 57 #:use-module (gnu packages kerberos)
834a2fc1 58 #:use-module (gnu packages ncurses)
d85b398b 59 #:use-module (gnu packages pcre)
834a2fc1 60 #:use-module (gnu packages perl)
998afc36 61 #:use-module (gnu packages pkg-config)
834a2fc1 62 #:use-module (gnu packages python)
4fb5f830
TGR
63 #:use-module (gnu packages textutils)
64 #:use-module (gnu packages tls)
65 #:use-module (gnu packages valgrind))
f6d9b3de 66
c791efde
JD
67(define-public macchanger
68 (package
69 (name "macchanger")
70 (version "1.6.0")
71 (source (origin
72 (method url-fetch)
73 (uri (string-append "mirror://gnu/"
74 name "/" name "-" version ".tar.gz"))
75 (sha256
76 (base32
77 "1xsiivjjyhqcs6dyjcshrnxlgypvyfzacjz7gcjgl88xiw9lylri"))))
78 (build-system gnu-build-system)
6fd52309 79 (home-page "https://www.gnu.org/software/macchanger/")
a3947cb1 80 (synopsis "Viewing and manipulating MAC addresses of network interfaces")
c791efde
JD
81 (description "GNU MAC Changer is a utility for viewing and changing MAC
82addresses of networking devices. New addresses may be set explicitly or
83randomly. They can include MAC addresses of the same or other hardware vendors
38510546 84or, more generally, MAC addresses of the same category of hardware.")
c791efde
JD
85 (license license:gpl2+)))
86
1e61e22f
TUBK
87(define-public miredo
88 (package
89 (name "miredo")
90 (version "1.2.6")
91 (source (origin
92 (method url-fetch)
93 (uri (string-append "http://www.remlab.net/files/miredo/miredo-"
94 version ".tar.xz"))
95 (sha256
96 (base32
97 "0j9ilig570snbmj48230hf7ms8kvcwi2wblycqrmhh85lksd49ps"))))
98 (build-system gnu-build-system)
99 (arguments
100 '(#:phases
101 (modify-phases %standard-phases
102 ;; The checkconf test in src/ requires network access.
103 (add-before
104 'check 'disable-checkconf-test
105 (lambda _
106 (substitute* "src/Makefile"
107 (("^TESTS = .*") "TESTS = \n")))))))
108 (home-page "http://www.remlab.net/miredo/")
109 (synopsis "Teredo IPv6 tunneling software")
110 (description
111 "Miredo is an implementation (client, relay, server) of the Teredo
112specification, which provides IPv6 Internet connectivity to IPv6 enabled hosts
113residing in IPv4-only networks, even when they are behind a NAT device.")
114 (license license:gpl2+)))
115
f6d9b3de
LC
116(define-public socat
117 (package
118 (name "socat")
4efc8eb2 119 (version "1.7.3.1")
f6d9b3de
LC
120 (source (origin
121 (method url-fetch)
122 (uri (string-append
123 "http://www.dest-unreach.org/socat/download/socat-"
124 version ".tar.bz2"))
125 (sha256
126 (base32
4efc8eb2 127 "1apvi7sahcl44arnq1ad2y6lbfqnmvx7nhz9i3rkk0f382anbnnj"))))
f6d9b3de
LC
128 (build-system gnu-build-system)
129 (arguments '(#:tests? #f)) ;no 'check' phase
130 (inputs `(("openssl" ,openssl)))
131 (home-page "http://www.dest-unreach.org/socat/")
132 (synopsis
133 "Open bidirectional communication channels from the command line")
134 (description
135 "socat is a relay for bidirectional data transfer between two independent
136data channels---files, pipes, devices, sockets, etc. It can create
137\"listening\" sockets, named pipes, and pseudo terminals.
138
139socat can be used, for instance, as TCP port forwarder, as a shell interface
140to UNIX sockets, IPv6 relay, for redirecting TCP oriented programs to a serial
141line, to logically connect serial lines on different computers, or to
142establish a relatively secure environment (su and chroot) for running client
e881752c 143or server shell scripts with network connections.")
f6d9b3de 144 (license license:gpl2)))
603090d8 145
c4947d0e
JD
146(define-public tcp-wrappers
147 (package
148 (name "tcp-wrappers")
149 (version "7.6")
150 (source (origin
151 (method url-fetch)
152 (uri (string-append
153 "ftp://ftp.porcupine.org/pub/security/tcp_wrappers_"
154 version ".tar.gz"))
155 (sha256
156 (base32
157 "0p9ilj4v96q32klavx0phw9va21fjp8vpk11nbh6v2ppxnnxfhwm"))))
158 (build-system gnu-build-system)
159 (arguments
160 `(#:phases
161 (modify-phases %standard-phases
162 (delete 'configure) ; there is no configure script
163 (delete 'check) ; there are no tests
164 (replace 'build
165 (lambda _
166 (chmod "." #o755)
167 ;; Upstream doesn't generate a shared library. So we have to do it.
168 (setenv "CC" "gcc -fno-builtin -fPIC")
169 (substitute* "Makefile"
170 (("^(all[^\n]*)" line) (string-append line " libwrap.so\n
171libwrap.so: $(LIB_OBJ)\n
172\tgcc -shared $^ -o $@\n")))
173 ;; Deal with some gcc breakage.
174 (substitute* "percent_m.c"
175 (("extern char .sys_errlist.*;") ""))
176 (substitute* "scaffold.c"
177 (("extern char .malloc.*;") ""))
178 ;; This, believe it or not, is the recommended way to build!
179 (zero? (system* "make" "REAL_DAEMON_DIR=/etc" "linux"))))
180 ;; There is no make install stage, so we have to do it ourselves.
181 (replace 'install
182 (lambda _
183 (let ((out (assoc-ref %outputs "out"))
184 (man-pages `("hosts_access.3"
185 "hosts_access.5"
186 "hosts_options.5"
187 "tcpd.8"
188 "tcpdchk.8"
189 "tcpdmatch.8"))
190 (libs `("libwrap.a"
191 "libwrap.so"))
192 (headers `("tcpd.h"))
193 (bins `("safe_finger"
194 "tcpd"
195 "tcpdchk"
196 "tcpdmatch"
197 "try-from")))
198 (for-each
199 (lambda (x)
200 (install-file x (string-append out "/include")))
201 headers)
202 (for-each
203 (lambda (x)
204 (install-file x (string-append out "/share/man/man"
205 (string-take-right x 1))))
206 man-pages)
207 (for-each
208 (lambda (x)
209 (install-file x (string-append out "/lib/")))
210 libs)
211 (for-each
212 (lambda (x)
213 (install-file x (string-append out "/bin/")))
214 bins)))))))
215 (home-page "http://www.porcupine.org")
216 (synopsis "Monitor and filter incoming requests for network services")
217 (description "With this package you can monitor and filter incoming requests for
218network services. It includes a library which may be used by daemons to
219transparently check connection attempts against an access control list.")
220 (license (license:non-copyleft "file://DISCLAIMER"
221 "See the file DISCLAIMER in the distribution."))))
222
223
603090d8
RW
224(define-public zeromq
225 (package
226 (name "zeromq")
d6c108a9 227 (version "4.0.7")
603090d8
RW
228 (source (origin
229 (method url-fetch)
230 (uri (string-append "http://download.zeromq.org/zeromq-"
231 version ".tar.gz"))
232 (sha256
233 (base32
d6c108a9 234 "00vvwhgcdr1lva2pavicvy92iad0hj8cf71n702hv6blw1kjj2z0"))))
603090d8
RW
235 (build-system gnu-build-system)
236 (home-page "http://zeromq.org")
237 (synopsis "Library for message-based applications")
238 (description
239 "The 0MQ lightweight messaging kernel is a library which extends the
240standard socket interfaces with features traditionally provided by specialized
241messaging middle-ware products. 0MQ sockets provide an abstraction of
242asynchronous message queues, multiple messaging patterns, message
243filtering (subscriptions), seamless access to multiple transport protocols and
244more.")
245 (license license:lgpl3+)))
a2b2aebe 246
2c1286f4
SB
247(define-public librdkafka
248 (package
249 (name "librdkafka")
250 (version "0.9.1")
251 (source (origin
252 (method url-fetch)
253 (uri (string-append
254 "https://github.com/edenhill/librdkafka/archive/"
255 version ".tar.gz"))
256 (file-name (string-append name "-" version ".tar.gz"))
257 (sha256
258 (base32
259 "10ldx7g7ymmg17snzx78vy4n8ma1rjx0agzi34g15j2fk867xmas"))))
260 (build-system gnu-build-system)
261 (arguments
262 '(#:phases
263 (modify-phases %standard-phases
264 (replace 'configure
265 ;; its custom configure script doesn't understand 'CONFIG_SHELL'.
266 (lambda* (#:key outputs #:allow-other-keys)
267 (let ((out (assoc-ref outputs "out")))
268 ;; librdkafka++.so lacks RUNPATH for librdkafka.so
269 (setenv "LDFLAGS"
270 (string-append "-Wl,-rpath=" out "/lib"))
271 (zero? (system* "./configure"
272 (string-append "--prefix=" out)))))))))
273 (native-inputs
274 `(("python" ,python-wrapper)))
275 (propagated-inputs
276 `(("zlib" ,zlib))) ; in the Libs.private field of rdkafka.pc
277 (home-page "https://github.com/edenhill/librdkafka")
278 (synopsis "Apache Kafka C/C++ client library")
279 (description
280 "librdkafka is a C library implementation of the Apache Kafka protocol,
281containing both Producer and Consumer support.")
282 (license license:bsd-2)))
283
a2b2aebe
MW
284(define-public libndp
285 (package
286 (name "libndp")
ad42be83 287 (version "1.6")
a2b2aebe
MW
288 (source (origin
289 (method url-fetch)
290 (uri (string-append "http://libndp.org/files/"
291 name "-" version ".tar.gz"))
292 (sha256
293 (base32
ad42be83 294 "03mczwrxqbp54msafxzzyhaazkvjdwm2kipjkrb5xg8kw22glz8c"))))
a2b2aebe
MW
295 (build-system gnu-build-system)
296 (home-page "http://libndp.org/")
297 (synopsis "Library for Neighbor Discovery Protocol")
298 (description
299 "libndp contains a library which provides a wrapper for IPv6 Neighbor
300Discovery Protocol. It also provides a tool named ndptool for sending and
301receiving NDP messages.")
302 (license license:lgpl2.1+)))
5df2316d
MW
303
304(define-public ethtool
305 (package
306 (name "ethtool")
3fe7cb87 307 (version "4.8")
5df2316d
MW
308 (source (origin
309 (method url-fetch)
310 (uri (string-append "mirror://kernel.org/software/network/"
311 name "/" name "-" version ".tar.xz"))
312 (sha256
313 (base32
3fe7cb87 314 "0hsaxcka0ks76k23sb65c46i53hjm465sgxyn3m3301diqlgwga0"))))
5df2316d
MW
315 (build-system gnu-build-system)
316 (home-page "https://www.kernel.org/pub/software/network/ethtool/")
317 (synopsis "Display or change Ethernet device settings")
318 (description
319 "ethtool can be used to query and change settings such as speed,
320auto-negotiation and checksum offload on many network devices, especially
321Ethernet devices.")
322 (license license:gpl2)))
24a848c8
SR
323
324(define-public ifstatus
325 (package
326 (name "ifstatus")
327 (version "1.1.0")
328 (source (origin
329 (method url-fetch)
de67e922
LF
330 (uri (string-append "mirror://sourceforge/ifstatus/ifstatus/"
331 "ifstatus%20v" version "/ifstatus-v"
24a848c8
SR
332 version ".tar.gz"))
333 (sha256
334 (base32
335 "045cbsq9ps32j24v8y5hpyqxnqn9mpaf3mgvirlhgpqyb9jsia0c"))
336 (modules '((guix build utils)))
337 (snippet
338 '(substitute* "Main.h"
339 (("#include <stdio.h>")
340 "#include <stdio.h>\n#include <stdlib.h>")))))
341 (build-system gnu-build-system)
342 (arguments
343 '(#:tests? #f ; no "check" target
344 #:phases
345 (modify-phases %standard-phases
346 (delete 'configure) ; no configure script
347 (replace 'install
348 (lambda* (#:key outputs #:allow-other-keys)
349 (let* ((out (assoc-ref outputs "out"))
350 (bin (string-append out "/bin")))
351 (mkdir-p bin)
352 (copy-file "ifstatus"
353 (string-append bin "/ifstatus"))))))))
354 (inputs `(("ncurses" ,ncurses)))
355 (home-page "http://ifstatus.sourceforge.net/graphic/index.html")
356 (synopsis "Text based network interface status monitor")
357 (description
358 "IFStatus is a simple, easy-to-use program for displaying commonly
8874f766 359needed/wanted real-time traffic statistics of multiple network
24a848c8
SR
360interfaces, with a simple and efficient view on the command line. It is
361intended as a substitute for the PPPStatus and EthStatus projects.")
8874f766 362 (license license:gpl2+)))
95146623
RG
363
364(define-public nload
365 (package
366 (name "nload")
367 (version "0.7.4")
368 (source (origin
369 (method url-fetch)
de67e922
LF
370 (uri (string-append "mirror://sourceforge/nload/nload/" version
371 "/nload-" version ".tar.gz"))
95146623
RG
372 (sha256
373 (base32
374 "1rb9skch2kgqzigf19x8bzk211jdfjfdkrcvaqyj89jy2pkm3h61"))))
375 (build-system gnu-build-system)
376 (inputs `(("ncurses" ,ncurses)))
377 (home-page "http://www.roland-riegel.de/nload/")
378 (synopsis "Realtime console network usage monitor")
379 (description
380 "Nload is a console application which monitors network traffic and
381bandwidth usage in real time. It visualizes the in- and outgoing traffic using
382two graphs and provides additional info like total amount of transfered data
383and min/max network usage.")
384 (license license:gpl2+)))
998afc36
TGR
385
386(define-public iodine
387 (package
388 (name "iodine")
389 (version "0.7.0")
390 (source (origin
391 (method url-fetch)
392 (uri (string-append "http://code.kryo.se/" name "/"
393 name "-" version ".tar.gz"))
394 (sha256
395 (base32
396 "0gh17kcxxi37k65zm4gqsvbk3aw7yphcs3c02pn1c4s2y6n40axd"))))
397 (build-system gnu-build-system)
398 (arguments
399 '(#:phases
400 (modify-phases %standard-phases
401 (delete 'configure)
60880ac5
TGR
402 (add-before 'build 'fix-ifconfig-path
403 ;; This package works only with the net-tools version of ifconfig.
404 (lambda* (#:key inputs #:allow-other-keys)
405 (substitute* "src/tun.c"
406 (("PATH=[^ ]* ")
407 (string-append (assoc-ref inputs "net-tools") "/sbin/")))))
998afc36 408 (add-before 'check 'delete-failing-tests
60880ac5 409 ;; Avoid https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=802105.
998afc36
TGR
410 (lambda _
411 (substitute* "tests/common.c"
412 (("tcase_add_test\\(tc, \
413test_parse_format_ipv(4(|_listen_all|_mapped_ipv6)|6)\\);")
414 "")))))
415 #:make-flags (list "CC=gcc"
416 (string-append "prefix=" (assoc-ref %outputs "out")))
417 #:test-target "test"))
60880ac5
TGR
418 (inputs `(("net-tools" ,net-tools)
419 ("zlib" ,zlib)))
998afc36
TGR
420 (native-inputs `(("check" ,check)
421 ("pkg-config" ,pkg-config)))
422 (home-page "http://code.kryo.se/iodine/")
423 (synopsis "Tunnel IPv4 data through a DNS server")
424 (description "Iodine tunnels IPv4 data through a DNS server. This
425can be useful in different situations where internet access is firewalled, but
426DNS queries are allowed. The bandwidth is asymmetrical, with limited upstream
427and up to 1 Mbit/s downstream.")
428 ;; src/md5.[ch] is released under the zlib license
429 (license (list license:isc license:zlib))))
834a2fc1 430
9c798f90 431(define-public whois
432 (package
433 (name "whois")
a6d9f883 434 (version "5.2.15")
9c798f90 435 (source
436 (origin
437 (method url-fetch)
438 (uri (string-append "mirror://debian/pool/main/w/whois/"
439 name "_" version ".tar.xz"))
440 (sha256
441 (base32
a6d9f883 442 "123ingf699javzh8qm6ny10nl28zbjzasa4k5pcn0qzw1dlnnnks"))))
9c798f90 443 (build-system gnu-build-system)
444 ;; TODO: unbundle mkpasswd binary + its po files.
445 (arguments
446 `(#:tests? #f ; Does not exist
447 #:make-flags (list "CC=gcc"
448 (string-append "prefix=" (assoc-ref %outputs "out")))
449 #:phases
450 (modify-phases %standard-phases
451 (delete 'configure) ; No configure
452 (add-before 'build 'setenv
453 (lambda _
454 (setenv "HAVE_ICONV" "1")
268b3802
EF
455 (setenv "HAVE_LIBIDN" "1")
456 #t)))))
9c798f90 457 (inputs
458 `(("libidn" ,libidn)))
459 (native-inputs
7c90d0f4 460 `(("gettext" ,gettext-minimal)
9c798f90 461 ("perl" ,perl)))
462 (synopsis "Improved whois client")
463 (description "This whois client is intelligent and can
464automatically select the appropriate whois server for most queries.
465Because of historical reasons this also includes a tool called mkpasswd
466which can be used to encrypt a password with @code{crypt(3)}.")
467 (home-page "https://github.com/rfc1036/whois")
468 (license license:gpl2+)))
469
834a2fc1
NG
470(define-public wireshark
471 (package
472 (name "wireshark")
5af1a381 473 (version "2.2.5")
834a2fc1
NG
474 (synopsis "Network traffic analyzer")
475 (source
476 (origin
477 (method url-fetch)
478 (uri (string-append "https://www.wireshark.org/download/src/wireshark-"
479 version ".tar.bz2"))
480 (sha256
481 (base32
5af1a381 482 "1j4sc3pmy8l6k41007spglcqiabjlzc7f85pn3jmjr9ksv9qipbm"))))
834a2fc1
NG
483 (build-system glib-or-gtk-build-system)
484 (inputs `(("bison" ,bison)
485 ("c-ares" ,c-ares)
486 ("flex" ,flex)
487 ("gnutls" ,gnutls)
488 ("gtk+" ,gtk+)
489 ("libcap" ,libcap)
490 ("libgcrypt" ,libgcrypt)
491 ("libnl" ,libnl)
492 ("libpcap" ,libpcap)
331ef882 493 ("lua" ,lua-5.2)
834a2fc1
NG
494 ("krb5" ,mit-krb5)
495 ("openssl" ,openssl)
496 ("portaudio" ,portaudio)
497 ("sbc" ,sbc)
498 ("zlib" ,zlib)))
499 (native-inputs `(("perl" ,perl)
500 ("pkg-config" ,pkg-config)
501 ("python" ,python-wrapper)))
502 (arguments
503 `(#:configure-flags
504 (list (string-append "--with-c-ares=" (assoc-ref %build-inputs "c-ares"))
505 (string-append "--with-krb5=" (assoc-ref %build-inputs "krb5"))
506 (string-append "--with-libcap=" (assoc-ref %build-inputs "libcap"))
507 (string-append "--with-lua=" (assoc-ref %build-inputs "lua"))
508 (string-append "--with-pcap=" (assoc-ref %build-inputs "libpcap"))
509 (string-append "--with-portaudio="
510 (assoc-ref %build-inputs "portaudio"))
511 (string-append "--with-sbc=" (assoc-ref %build-inputs "sbc"))
512 (string-append "--with-ssl=" (assoc-ref %build-inputs "openssl"))
513 (string-append "--with-zlib=" (assoc-ref %build-inputs "zlib"))
514 "--without-qt")))
515 (description "Wireshark is a network protocol analyzer, or @dfn{packet
516sniffer}, that lets you capture and interactively browse the contents of
517network frames.")
518 (license license:gpl2+)
519 (home-page "https://www.wireshark.org/")))
82ee141b
TGR
520
521(define-public httping
522 (package
523 (name "httping")
2f968727 524 (version "2.5")
82ee141b
TGR
525 (source
526 (origin
527 (method url-fetch)
528 (uri (string-append "https://www.vanheusden.com/httping/httping-"
529 version ".tgz"))
530 (sha256
531 (base32
2f968727 532 "1y7sbgkhgadmd93x1zafqc4yp26ssiv16ni5bbi9vmvvdl55m29y"))))
82ee141b
TGR
533 (build-system gnu-build-system)
534 (native-inputs
b94a6ca0 535 `(("gettext" ,gettext-minimal)))
82ee141b
TGR
536 (inputs
537 `(("fftw" ,fftw)
538 ("ncurses" ,ncurses)
539 ("openssl" ,openssl)))
540 (arguments
541 `(#:make-flags (list "CC=gcc"
542 (string-append "DESTDIR=" (assoc-ref %outputs "out"))
543 "PREFIX=")
544 #:tests? #f)) ; no tests
545 (home-page "https://www.vanheusden.com/httping/")
546 (synopsis "Web server latency and throughput monitor")
547 (description
548 "httping measures how long it takes to connect to a web server, send an
549HTTP(S) request, and receive the reply headers. It is somewhat similar to
550@command{ping}, but can be used even in cases where ICMP traffic is blocked
551by firewalls or when you want to monitor the response time of the actual web
552application stack itself.")
553 (license license:gpl2))) ; with permission to link with OpenSSL
68b14f2e 554
9e6c7c42
SR
555(define-public httpstat
556 (package
557 (name "httpstat")
558 (version "1.2.1")
559 (source
560 (origin
561 (method url-fetch)
562 (uri (pypi-uri "httpstat" version))
563 (sha256
564 (base32
565 "1chw2nk56vaq87aba012a270k9na06hfx1pfbsrc3jfvlc2kb9hb"))))
566 (build-system python-build-system)
567 (inputs `(("curl" ,curl)))
568 (arguments
569 '(#:phases
570 (modify-phases %standard-phases
571 (add-before 'build 'fix-curl-path
572 (lambda* (#:key inputs #:allow-other-keys)
573 (substitute* "httpstat.py"
574 (("ENV_CURL_BIN.get\\('curl'\\)")
575 (string-append "ENV_CURL_BIN.get('"
576 (assoc-ref inputs "curl")
577 "/bin/curl')"))))))))
578 (home-page "https://github.com/reorx/httpstat")
579 (synopsis "Visualize curl statistics")
580 (description
581 "@command{httpstat} is a tool to visualize statistics from the
582@command{curl} HTTP client. It acts as a wrapper for @command{curl} and
583prints timing information for each step of the HTTP request (DNS lookup,
584TCP connection, TLS handshake and so on) in the terminal.")
585 (license license:expat)))
586
be9f3a83
AI
587(define-public bwm-ng
588 (package
589 (name "bwm-ng")
590 (version "0.6.1")
591 (source
592 (origin
593 (method url-fetch)
594 (uri (string-append "https://www.gropp.org/bwm-ng/bwm-ng-"
595 version ".tar.gz"))
596 (sha256
597 (base32
598 "1w0dwpjjm9pqi613i8glxrgca3rdyqyp3xydzagzr5ndc34z6z02"))))
599 (build-system gnu-build-system)
600 (inputs `(("ncurses" ,ncurses)))
601 (synopsis "Console based live network and disk I/O bandwidth monitor")
602 (description "Bandwidth Monitor NG is a small and simple console based
603live network and disk I/O bandwidth monitor.")
604 (home-page "https://www.gropp.org/?id=projects&sub=bwm-ng")
605 (license license:gpl2)))
606
d85b398b
EB
607(define-public aircrack-ng
608 (package
609 (name "aircrack-ng")
610 (version "1.2-rc4")
611 (source
612 (origin
613 (method url-fetch)
614 (uri (string-append "http://download.aircrack-ng.org/aircrack-ng-"
615 version ".tar.gz"))
616 (sha256
617 (base32
618 "0dpzx9kddxpgzmgvdpl3rxn0jdaqhm5wxxndp1xd7d75mmmc2fnr"))))
619 (build-system gnu-build-system)
620 (native-inputs
621 `(("pkg-config" ,pkg-config)))
622 (inputs
623 `(("libgcrypt" ,libgcrypt)
624 ("libnl" ,libnl)
625 ("ethtool" ,ethtool)
626 ("pcre" ,pcre)
627 ("sqlite" ,sqlite)
628 ("zlib" ,zlib)))
629 (arguments
630 `(#:make-flags `("sqlite=true"
631 "gcrypt=true"
632 "libnl=true"
633 "pcre=true"
634 "experimental=true" ;build wesside-ng, etc.
635 "AVX2FLAG=N" "AVX1FLAG=N" "SSEFLAG=Y"
636 ,(string-append "prefix=" %output))
637 #:phases (modify-phases %standard-phases
638 (delete 'configure) ;no configure phase
639 (add-after 'build 'absolutize-tools
640 (lambda* (#:key inputs #:allow-other-keys)
641 (let ((ethtool (string-append (assoc-ref inputs "ethtool")
642 "/sbin/ethtool")))
643 (substitute* "scripts/airmon-ng"
644 (("\\[ ! -x \"\\$\\(command -v ethtool 2>&1)\" \\]")
645 (string-append "! " ethtool " --version "
646 ">/dev/null 2>&1"))
647 (("\\$\\(ethtool")
648 (string-append "$(" ethtool)))
649 #t))))))
650 (home-page "http://www.aircrack-ng.org")
651 (synopsis "Assess WiFi network security")
652 (description
653 "Aircrack-ng is a complete suite of tools to assess WiFi network
654security. It focuses on different areas of WiFi security: monitoring,
655attacking, testing, and cracking. All tools are command-line driven, which
656allows for heavy scripting.")
657 (license (list license:gpl2+ license:bsd-3))))
658
68b14f2e
DM
659(define-public perl-net-dns
660 (package
661 (name "perl-net-dns")
662 (version "1.06")
663 (source
664 (origin
665 (method url-fetch)
666 (uri (string-append
667 "mirror://cpan/authors/id/N/NL/NLNETLABS/Net-DNS-"
668 version
669 ".tar.gz"))
670 (sha256
671 (base32
672 "07m5331132h9xkh1i6jv9d80f571yva27iqa31aq4sm31iw7nn53"))))
673 (build-system perl-build-system)
674 (inputs
675 `(("perl-digest-hmac" ,perl-digest-hmac)))
676 (home-page "http://search.cpan.org/dist/Net-DNS")
677 (synopsis
678 "Perl Interface to the Domain Name System")
679 (description "Net::DNS is the Perl Interface to the Domain Name System.")
680 (license license:x11)))
87b14091
DM
681
682(define-public perl-socket6
683 (package
684 (name "perl-socket6")
685 (version "0.28")
686 (source
687 (origin
688 (method url-fetch)
689 (uri (string-append
690 "mirror://cpan/authors/id/U/UM/UMEMOTO/Socket6-"
691 version
692 ".tar.gz"))
693 (sha256
694 (base32
695 "11j5jzqbzmwlws9zals43ry2f1nw9qy6im7yhn9ck5rikywrmm5z"))))
696 (build-system perl-build-system)
697 (arguments
698 `(#:phases
699 (modify-phases %standard-phases
700 (replace 'configure
701 (lambda* (#:key outputs #:allow-other-keys)
702 (let* ((out (assoc-ref outputs "out"))
703 (args `("Makefile.PL"
704 ,(string-append "PREFIX=" out)
705 "INSTALLDIRS=site")))
706 (setenv "CONFIG_SHELL" (which "sh"))
707 (zero? (apply system* "perl" args))))))))
708 (home-page "http://search.cpan.org/dist/Socket6")
709 (synopsis
710 "IPv6 related part of the C socket.h defines and structure manipulators for Perl")
711 (description "Socket6 binds the IPv6 related part of the C socket header
712definitions and structure manipulators for Perl.")
713 (license license:bsd-3)))
8d60dd71
DM
714
715(define-public perl-net-dns-resolver-programmable
716 (package
717 (name "perl-net-dns-resolver-programmable")
718 (version "v0.003")
719 (source
720 (origin
721 (method url-fetch)
722 (uri (string-append
723 "mirror://cpan/authors/id/J/JM/JMEHNLE/net-dns-resolver-programmable/"
724 "Net-DNS-Resolver-Programmable-" version ".tar.gz"))
725 (sha256
726 (base32
727 "1v3nl2kaj4fs55n1617n53q8sa3mir06898vpy1rq98zjih24h4d"))
728 (patches
729 (search-patches
730 "perl-net-dns-resolver-programmable-Fix-broken-interface.patch"))))
731 (build-system perl-build-system)
732 (native-inputs
733 `(("perl-module-build" ,perl-module-build)))
734 (inputs `(("perl-net-dns" ,perl-net-dns)))
735 (home-page
736 "http://search.cpan.org/dist/Net-DNS-Resolver-Programmable")
737 (synopsis
738 "Programmable DNS resolver class for offline emulation of DNS")
739 (description "Net::DNS::Resolver::Programmable is a programmable DNS resolver for
740offline emulation of DNS.")
741 (license (package-license perl))))
1201eab9
DM
742
743(define-public perl-netaddr-ip
744 (package
745 (name "perl-netaddr-ip")
746 (version "4.079")
747 (source
748 (origin
749 (method url-fetch)
750 (uri (string-append
751 "mirror://cpan/authors/id/M/MI/MIKER/NetAddr-IP-"
752 version
753 ".tar.gz"))
754 (sha256
755 (base32
756 "1rx0dinrz9fk9qcg4rwqq5n1dm3xv2arymixpclcv2q2nzgq4npc"))))
757 (build-system perl-build-system)
758 (arguments
759 `(#:phases
760 (modify-phases %standard-phases
761 (replace 'configure
762 (lambda* (#:key outputs #:allow-other-keys)
763 (let* ((out (assoc-ref outputs "out"))
764 (args `("Makefile.PL"
765 ,(string-append "PREFIX=" out)
766 "INSTALLDIRS=site")))
767 (setenv "CONFIG_SHELL" (which "sh"))
768 (zero? (apply system* "perl" args))))))))
769 (home-page
770 "http://search.cpan.org/dist/NetAddr-IP")
771 (synopsis
772 "Manages IPv4 and IPv6 addresses and subnets")
773 (description "NetAddr::IP manages IPv4 and IPv6 addresses and subsets.")
774 (license (package-license perl))))
3ed361ea
DM
775
776(define-public perl-net-patricia
777 (package
778 (name "perl-net-patricia")
779 (version "1.22")
780 (source
781 (origin
782 (method url-fetch)
783 (uri (string-append
784 "mirror://cpan/authors/id/G/GR/GRUBER/Net-Patricia-"
785 version
786 ".tar.gz"))
787 (sha256
788 (base32
789 "0ln5f57vc8388kyh9vhx2infrdzfhbpgyby74h1qsnhwds95m0vh"))))
790 (build-system perl-build-system)
791 (inputs
792 `(("perl-net-cidr-lite" ,perl-net-cidr-lite)
793 ("perl-socket6" ,perl-socket6)))
794 (home-page
795 "http://search.cpan.org/dist/Net-Patricia")
796 (synopsis
797 "Patricia Trie Perl module for fast IP address lookups")
798 (description
799 "Net::Patricia does IP address lookups quickly in Perl.")
800 ;; The bindings are licensed under GPL2 or later.
801 ;; libpatricia is licensed under 2-clause BSD.
802 (license (list license:gpl2+ license:bsd-2))))
b09a8b6f
DM
803
804(define-public perl-net-cidr-lite
805 (package
806 (name "perl-net-cidr-lite")
807 (version "0.21")
808 (source
809 (origin
810 (method url-fetch)
811 (uri (string-append
812 "mirror://cpan/authors/id/D/DO/DOUGW/Net-CIDR-Lite-"
813 version
814 ".tar.gz"))
815 (sha256
816 (base32
817 "14shj73zbqmfjbp0qz1fs9j4p2dpvz5hfkm4qfdjbydflbl2b8fg"))))
818 (build-system perl-build-system)
819 (home-page
820 "http://search.cpan.org/dist/Net-CIDR-Lite")
821 (synopsis
822 "Perl extension for merging IPv4 or IPv6 CIDR addresses")
823 (description "Net::CIDR::Lite merges IPv4 or IPv6 CIDR addresses.")
824 (license license:gpl1+)))
e741c4e4
DM
825
826;; TODO: Use the geolite-mirror-simple.pl script from the example
827;; directory to stay current with the databases. How?
828(define-public perl-geo-ip
829 (package
830 (name "perl-geo-ip")
831 (version "1.50")
832 (source
833 (origin
834 (method url-fetch)
835 (uri (string-append
836 "mirror://cpan/authors/id/M/MA/MAXMIND/Geo-IP-"
837 version
838 ".tar.gz"))
839 (sha256
840 (base32
841 "0ar69lrm26rp6sqxjf0p6cvjfprjx8gkxx11r399lvh99rqfl7zr"))))
842 (build-system perl-build-system)
843 (home-page "http://search.cpan.org/dist/Geo-IP")
844 (synopsis
845 "Look up location and network information by IP Address in Perl")
846 (description "The Perl module 'Geo::IP'. It looks up location and network
847information by IP Address.")
848 (license (package-license perl))))
e818f321
DM
849
850(define-public perl-io-socket-inet6
851 (package
852 (name "perl-io-socket-inet6")
853 (version "2.72")
854 (source
855 (origin
856 (method url-fetch)
857 (uri (string-append
858 "mirror://cpan/authors/id/S/SH/SHLOMIF/IO-Socket-INET6-"
859 version
860 ".tar.gz"))
861 (sha256
862 (base32
863 "1fqypz6qa5rw2d5y2zq7f49frwra0aln13nhq5gi514j2zx21q45"))))
864 (build-system perl-build-system)
865 (native-inputs
866 `(("perl-module-build" ,perl-module-build)
867 ("perl-test-pod" ,perl-test-pod)
868 ("perl-test-pod-coverage" ,perl-test-pod-coverage)))
869 (inputs `(("perl-socket6" ,perl-socket6)))
870 (arguments `(;; Need network socket API
871 #:tests? #f))
872 (home-page
873 "http://search.cpan.org/dist/IO-Socket-INET6")
874 (synopsis
875 "Perl object interface for AF_INET/AF_INET6 domain sockets")
876 (description "IO::Socket::INET6 is an interface for AF_INET/AF_INET6 domain
877sockets in Perl.")
878 (license (package-license perl))))
a1c83fef 879
880(define-public proxychains-ng
881 (package
882 (name "proxychains-ng")
cdb93e50 883 (version "4.12")
a1c83fef 884 (source (origin
885 (method url-fetch)
886 (uri (string-append "https://github.com/rofl0r/" name "/releases/"
887 "download/v" version "/" name "-" version
cdb93e50 888 ".tar.xz"))
a1c83fef 889 (sha256
890 (base32
cdb93e50 891 "0kiss3ih6cwayzvqi5cx4kw4vh7r2kfxlbgk56v1f1066ncm8aj8"))))
a1c83fef 892 (build-system gnu-build-system)
893 (arguments
894 `(#:tests? #f ; there are no tests
895 #:make-flags '("CC=gcc")
896 #:phases
897 (modify-phases %standard-phases
898 (add-after 'unpack 'fix-configure-script
899 (lambda _
900 ;; The configure script is very intolerant to unknown arguments,
901 ;; such as "CONFIG_SHELL".
902 (substitute* "configure"
903 (("\\*\\) break ;;" line)
904 (string-append "[A-Z]*) shift ;;\n"
905 line)))
906 #t)))))
907 (synopsis "Redirect any TCP connection through a proxy or proxy chain")
908 (description "Proxychains-ng is a preloader which hooks calls to sockets
909in dynamically linked programs and redirects them through one or more SOCKS or
910HTTP proxies.")
911 (home-page "https://github.com/rofl0r/proxychains-ng")
912 (license license:gpl2+)))
93666cf7 913
914(define-public enet
915 (package
916 (name "enet")
917 (version "1.3.13")
918 (source (origin
919 (method url-fetch)
920 (uri (string-append "http://enet.bespin.org/download/"
921 name "-" version ".tar.gz"))
922 (sha256
923 (base32
924 "0p53mnmjbm56wizwraznynx13fcibcxiqny110dp6a5a3w174q73"))))
925 (build-system gnu-build-system)
926 (native-inputs
927 `(("pkg-config" ,pkg-config)))
928 (synopsis
929 "Network communication layer on top of UDP")
930 (description
931 "ENet's purpose is to provide a relatively thin, simple and robust network
932communication layer on top of UDP. The primary feature it provides is optional
933reliable, in-order delivery of packets. ENet omits certain higher level
934networking features such as authentication, server discovery, encryption, or
935other similar tasks that are particularly application specific so that the
936library remains flexible, portable, and easily embeddable.")
937 (home-page "http://enet.bespin.org")
938 (license license:expat)))
4fb5f830
TGR
939
940(define-public sslh
941 (package
942 (name "sslh")
943 (version "1.18")
944 (source (origin
945 (method url-fetch)
946 (uri (string-append "https://github.com/yrutschle/sslh/archive/v"
947 version ".tar.gz"))
948 (file-name (string-append name "-" version ".tar.gz"))
949 (sha256
950 (base32
951 "1vzw7a7s9lhspbn5zn3hw8hir4pkjgbd68yys4hfsnjp1h7bzjpn"))))
952 (build-system gnu-build-system)
953 (native-inputs
954 `(;; Tests dependencies.
955 ("lcov" ,lcov)
956 ("perl" ,perl)
957 ("perl-io-socket-inet6" ,perl-io-socket-inet6)
958 ("perl-socket6" ,perl-socket6)
959 ("psmisc" ,psmisc)
960 ("valgrind" ,valgrind)))
961 (inputs
962 `(("libcap" ,libcap)
963 ("libconfig" ,libconfig)
964 ("tcp-wrappers" ,tcp-wrappers)))
965 (arguments
966 '(#:phases
967 (modify-phases %standard-phases
968 (delete 'configure) ; no configure script
969 (add-before 'check 'fix-tests
970 (lambda _
971 (substitute* "./t"
972 (("\"/tmp") "$ENV{\"TMPDIR\"} . \"")
973 ;; The Guix build environment lacks ‘ip6-localhost’.
974 (("ip6-localhost") "localhost"))
975 #t))
976 ;; Many of these files are mentioned in the man page. Install them.
977 (add-after 'install 'install-documentation
978 (lambda* (#:key outputs #:allow-other-keys)
979 (let* ((out (assoc-ref outputs "out"))
980 (doc (string-append out "/share/doc/sslh")))
981 (install-file "README.md" doc)
982 (for-each
983 (lambda (file)
984 (install-file file (string-append doc "/examples")))
985 (append (find-files "." "\\.cfg")
986 (find-files "scripts"))))
987 #t)))
988 #:make-flags (list "CC=gcc"
989 "USELIBCAP=1"
990 "USELIBWRAP=1"
991 (string-append "PREFIX=" (assoc-ref %outputs "out")))
992 #:test-target "test"))
993 (home-page "http://www.rutschle.net/tech/sslh.shtml")
994 (synopsis "Applicative network protocol demultiplexer")
995 (description
996 "sslh is a network protocol demultiplexer. It acts like a switchboard,
997accepting connections from clients on one port and forwarding them to different
998servers based on the contents of the first received data packet. Detection of
999common protocols like HTTP(S), SSL, SSH, OpenVPN, tinc, and XMPP is already
1000implemented, but any other protocol that matches a regular expression can be
1001added. sslh's name comes from its original application of serving both SSH and
1002HTTPS on port 443, allowing SSH connections from inside corporate firewalls
1003that block port 22.")
1004 (license (list license:bsd-2 ; tls.[ch]
1005 license:gpl2+)))) ; everything else
b747718e
BS
1006
1007(define-public iperf
1008 (package
1009 (name "iperf")
9c974c93 1010 (version "3.1.7")
b747718e
BS
1011 (source (origin
1012 (method url-fetch)
1013 (uri (string-append "http://downloads.es.net/pub/iperf"
1014 "/iperf-" version ".tar.gz"))
1015 (sha256
1016 (base32
9c974c93 1017 "0kvk8d0a3dcxc8fisyprbn01y8akxj4sx8ld5dh508p9dx077vx4"))))
b747718e
BS
1018 (build-system gnu-build-system)
1019 (synopsis "TCP, UDP and SCTP bandwidth measurement tool")
1020 (description
1021 "iPerf is a tool to measure achievable bandwidth on IP networks. It
1022supports tuning of various parameters related to timing, buffers and
1023protocols (TCP, UDP, SCTP with IPv4 and IPv6). For each test it reports
1024the bandwidth, loss, and other parameters.")
1025 (home-page "http://software.es.net/iperf/")
1026 (license (list license:bsd-3 ; Main distribution.
1027 license:ncsa ; src/{units,iperf_locale,tcp_window_size}.c
1028 license:expat ; src/{cjson,net}.[ch]
1029 license:public-domain)))) ; src/portable_endian.h
b7f3cf2c
AI
1030
1031(define-public nethogs
1032 (package
1033 (name "nethogs")
1034 (version "0.8.5")
1035 (source (origin
1036 (method url-fetch)
1037 (uri (string-append "https://github.com/raboof/nethogs/archive/v"
1038 version ".tar.gz"))
1039 (sha256
1040 (base32
1041 "1k4x8r7s4dgcb6n2rjn28h2yyij92mwm69phncl3597cdxr954va"))
1042 (file-name (string-append name "-" version ".tar.gz"))))
1043 (build-system gnu-build-system)
1044 (inputs
1045 `(("libpcap" ,libpcap)
1046 ("ncurses" ,ncurses)))
1047 (arguments
1048 `(#:make-flags `("CC=gcc"
1049 ,(string-append "PREFIX=" %output))
1050 #:phases
1051 (modify-phases %standard-phases
1052 (delete 'configure)))) ; No ./configure script.
1053 (home-page "https://github.com/raboof/nethogs")
1054 (synopsis "Per-process bandwidth monitor")
1055 (description "NetHogs is a small 'net top' tool for Linux. Instead of
1056breaking the traffic down per protocol or per subnet, like most tools do, it
1057groups bandwidth by process.
1058
1059NetHogs does not rely on a special kernel module to be loaded. If there's
1060suddenly a lot of network traffic, you can fire up NetHogs and immediately see
1061which PID is causing this. This makes it easy to identify programs that have
1062gone wild and are suddenly taking up your bandwidth.")
1063 (license license:gpl2+)))
92ac2cff
SB
1064
1065(define-public openvswitch
1066 (package
1067 (name "openvswitch")
1068 (version "2.6.1")
1069 (source (origin
1070 (method url-fetch)
1071 (uri (string-append
1072 "http://openvswitch.org/releases/openvswitch-"
1073 version ".tar.gz"))
1074 (sha256
1075 (base32
1076 "036gq741j9kqsjlp693nff838c9wjd1c56nswl9vyyd1lsmj0yrh"))))
1077 (build-system gnu-build-system)
1078 (arguments
1079 '(;; FIXME: many tests fail with:
1080 ;; […]
1081 ;; test -e $OVS_RUNDIR/ovs-vswitchd.pid
1082 ;; ovs-appctl -t ovs-vswitchd exit
1083 ;; hard failure
1084 #:tests? #f
1085 #:configure-flags
1086 '("--enable-shared"
1087 "--localstatedir=/var"
1088 "--with-dbdir=/var/lib/openvswitch")
1089 #:phases
1090 (modify-phases %standard-phases
1091 (replace 'install
1092 (lambda _
1093 (zero? (system* "make"
1094 ;; Don't try to create directories under /var.
1095 "RUNDIR=/tmp"
1096 "PKIDIR=/tmp"
1097 "LOGDIR=/tmp"
1098 "DBDIR=/tmp"
1099 "install")))))))
1100 (native-inputs
1101 `(("perl" ,perl)
1102 ("pkg-config" ,pkg-config)
1103 ("python" ,python-2)
1104 ;; for testing
1105 ("util-linux" ,util-linux)))
1106 (propagated-inputs
1107 `(("python-six" ,python2-six)))
1108 (inputs
1109 `(("libcap-ng" ,libcap-ng)
1110 ("openssl" ,openssl)))
1111 (synopsis "Virtual network switch")
1112 (home-page "http://www.openvswitch.org/")
1113 (description
1114 "Open vSwitch is a multilayer virtual switch. It is designed to enable
1115massive network automation through programmatic extension, while still
1116supporting standard management interfaces and protocols (e.g. NetFlow, sFlow,
1117IPFIX, RSPAN, CLI, LACP, 802.1ag).")
1118 (license ; see debian/copyright for detail
1119 (list license:lgpl2.1 ; xenserver and utilities/bugtool
1120 license:gpl2 ; datapath
1121 license:bsd-2 license:bsd-3
1122 license:asl2.0)))) ; all other
38510546
PP
1123
1124(define-public speedtest-cli
1125 (package
1126 (name "speedtest-cli")
1127 (version "1.0.2")
1128 (source
1129 (origin
1130 (method url-fetch)
1131 (uri (string-append
1132 "https://github.com/sivel/speedtest-cli/archive/v" version ".tar.gz"))
1133 (file-name (string-append name "-" version ".tar.gz"))
1134 (sha256
1135 (base32
1136 "1ir9fqwr7cl9kfq7dgh9vkydkwf59wsx0cwbzbffw8i313xhzxa1"))))
1137 (build-system python-build-system)
1138 (home-page "https://github.com/sivel/speedtest-cli")
1139 (synopsis "Internet bandwidth tester")
1140 (description
1141 "Command line interface for testing internet bandwidth using
1142speedtest.net.")
1143 (license license:asl2.0)))
5b5cf3c7
GB
1144
1145(define-public tftp-hpa
1146 (package
1147 (name "tftp-hpa")
1148 (version "5.2")
1149 (source (origin
1150 (method url-fetch)
1151 (uri (string-append "mirror://kernel.org/software/"
1152 "network/tftp/tftp-hpa/tftp-hpa-" version
1153 ".tar.xz"))
1154 (sha256
1155 (base32
1156 "12vidchglhyc20znq5wdsbhi9mqg90jnl7qr9qs8hbvaz4fkdvmg"))))
1157 (build-system gnu-build-system)
1158 (arguments `(#:tests? #f)) ; no test target
1159 (synopsis "HPA's tftp client")
1160 (description
1161 "This is a tftp client derived from OpenBSD tftp with some extra options
1162added and bugs fixed. The source includes readline support but it is not
1163enabled due to license conflicts between the BSD advertising clause and the GPL.")
1164 (home-page "http://git.kernel.org/cgit/network/tftp/tftp-hpa.git/about/")
1165 ;; Some source files are distributed under a 3-clause BSD license, and
1166 ;; others under a 4-clause BSD license. Refer to the files in the source
1167 ;; distribution for clarification.
1168 (license (list license:bsd-3 license:bsd-4))))