diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..cbb3a13
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,4 @@
+*.rpm
+*.log
+*spec-20*
+*.tar.gz
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..4ff85f3
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,21 @@
+# Makefile for source rpm: smeserver-tftp-server
+# $Id: Makefile,v 1.1 2020/10/29 18:46:41 brianr Exp $
+NAME := smeserver-tftp-server
+SPECFILE = $(firstword $(wildcard *.spec))
+
+define find-makefile-common
+for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done
+endef
+
+MAKEFILE_COMMON := $(shell $(find-makefile-common))
+
+ifeq ($(MAKEFILE_COMMON),)
+# attept a checkout
+define checkout-makefile-common
+test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2
+endef
+
+MAKEFILE_COMMON := $(shell $(checkout-makefile-common))
+endif
+
+include $(MAKEFILE_COMMON)
diff --git a/README.md b/README.md
index 7478d8f..a40a248 100644
--- a/README.md
+++ b/README.md
@@ -1,3 +1,15 @@
-# smeserver-tftp-server
+# smeserver-tftp-server
-SMEServer Koozali developed git repo for smeserver-tftp-server smecontribs
\ No newline at end of file
+SMEServer Koozali developed git repo for smeserver-tftp-server smecontribs
+
+## Wiki
+
https://wiki.koozali.org/
+
+## Bugzilla
+Show list of outstanding bugs: [here](https://bugs.koozali.org/buglist.cgi?component=smeserver-tftp-server&product=SME%20Contribs&query_format=advanced&limit=0&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&bug_status=CONFIRMED)
+
+## Description
+
+
*This description has been generated by an LLM AI system and cannot be relied on to be fully correct.*
+*Once it has been checked, then this comment will be deleted*
+
diff --git a/contriborbase b/contriborbase
new file mode 100644
index 0000000..9b7fd51
--- /dev/null
+++ b/contriborbase
@@ -0,0 +1 @@
+contribs10
diff --git a/createlinks b/createlinks
new file mode 100755
index 0000000..2c6dbc3
--- /dev/null
+++ b/createlinks
@@ -0,0 +1,39 @@
+#!/usr/bin/perl -w
+use esmith::Build::CreateLinks qw(:all);
+use esmith::Build::Backup qw(:all);
+use File::Basename;
+use File::Path;
+# our event specific for updating with yum without reboot
+$event = 'smeserver-tftp-server-update';
+#add here the path to your templates needed to expand
+#see the /etc/systemd/system-preset/49-koozali.preset should be present for systemd integration on all you yum update event
+
+foreach my $file (qw(
+ /etc/systemd/system-preset/49-koozali.preset
+ /etc/hosts.allow
+ /usr/lib/systemd/system/tftp.service.d/50koozali.conf
+ /usr/lib/systemd/system/tftp.socket.d/50koozali.conf
+))
+{
+ templates2events( $file, $event );
+}
+#action needed in case we have a systemd unit
+event_link('systemd-default', $event, '10');
+event_link('systemd-reload', $event, '50');
+#action specific to this package
+#event_link('action', $event, '30');
+#services we need to restart
+safe_symlink('restart',"root/etc/e-smith/events/$event/services2adjust/tftp");
+#and Server Manager panel link
+#panel_link('somefunction', 'manager');
+
+#safe_symlink("../daemontools", "root/etc/rc.d/init.d/supervise/tftpd");
+#safe_symlink("restart", "root/etc/e-smith/events/tftpd-conf/services2adjust/tftpd");
+#safe_symlink("/var/service/tftpd", "root/service/tftpd");
+#service_link_enhanced("tftpd", "S85", "7");
+#service_link_enhanced("tftpd", "K25", "0");
+
+# templates2events("/etc/hosts.allow", qw(tftpd-conf));
+
+# add tftp root directory (/tftpboot) to backups
+backup_includes("smeserver-tftp-server", qw(/tftpboot));
diff --git a/root/etc/e-smith/db/configuration/defaults/tftp/UDPPort b/root/etc/e-smith/db/configuration/defaults/tftp/UDPPort
new file mode 100644
index 0000000..8c0474e
--- /dev/null
+++ b/root/etc/e-smith/db/configuration/defaults/tftp/UDPPort
@@ -0,0 +1 @@
+69
\ No newline at end of file
diff --git a/root/etc/e-smith/db/configuration/defaults/tftp/access b/root/etc/e-smith/db/configuration/defaults/tftp/access
new file mode 100644
index 0000000..c8c6761
--- /dev/null
+++ b/root/etc/e-smith/db/configuration/defaults/tftp/access
@@ -0,0 +1 @@
+private
\ No newline at end of file
diff --git a/root/etc/e-smith/db/configuration/defaults/tftp/directory b/root/etc/e-smith/db/configuration/defaults/tftp/directory
new file mode 100644
index 0000000..727c6ac
--- /dev/null
+++ b/root/etc/e-smith/db/configuration/defaults/tftp/directory
@@ -0,0 +1 @@
+/tftpboot
\ No newline at end of file
diff --git a/root/etc/e-smith/db/configuration/defaults/tftp/log b/root/etc/e-smith/db/configuration/defaults/tftp/log
new file mode 100644
index 0000000..5ae0346
--- /dev/null
+++ b/root/etc/e-smith/db/configuration/defaults/tftp/log
@@ -0,0 +1 @@
+normal
\ No newline at end of file
diff --git a/root/etc/e-smith/db/configuration/defaults/tftp/privilege b/root/etc/e-smith/db/configuration/defaults/tftp/privilege
new file mode 100644
index 0000000..d89a6ef
--- /dev/null
+++ b/root/etc/e-smith/db/configuration/defaults/tftp/privilege
@@ -0,0 +1 @@
+ro
\ No newline at end of file
diff --git a/root/etc/e-smith/db/configuration/defaults/tftp/status b/root/etc/e-smith/db/configuration/defaults/tftp/status
new file mode 100644
index 0000000..7a68b11
--- /dev/null
+++ b/root/etc/e-smith/db/configuration/defaults/tftp/status
@@ -0,0 +1 @@
+disabled
diff --git a/root/etc/e-smith/db/configuration/defaults/tftp/timeout b/root/etc/e-smith/db/configuration/defaults/tftp/timeout
new file mode 100644
index 0000000..331d858
--- /dev/null
+++ b/root/etc/e-smith/db/configuration/defaults/tftp/timeout
@@ -0,0 +1 @@
+default
\ No newline at end of file
diff --git a/root/etc/e-smith/db/configuration/defaults/tftp/type b/root/etc/e-smith/db/configuration/defaults/tftp/type
new file mode 100644
index 0000000..ce93fac
--- /dev/null
+++ b/root/etc/e-smith/db/configuration/defaults/tftp/type
@@ -0,0 +1 @@
+service
\ No newline at end of file
diff --git a/root/etc/e-smith/db/configuration/defaults/tftp/user b/root/etc/e-smith/db/configuration/defaults/tftp/user
new file mode 100644
index 0000000..973d2e1
--- /dev/null
+++ b/root/etc/e-smith/db/configuration/defaults/tftp/user
@@ -0,0 +1 @@
+nobody
diff --git a/root/etc/e-smith/db/configuration/migrate/tftpd.privilege b/root/etc/e-smith/db/configuration/migrate/tftpd.privilege
new file mode 100644
index 0000000..c41745f
--- /dev/null
+++ b/root/etc/e-smith/db/configuration/migrate/tftpd.privilege
@@ -0,0 +1,7 @@
+{
+ my $tftpd = $DB->get('tftpd') or return;
+ if ( $tftpd->prop('privilege') eq "r" )
+ {
+ $tftpd->set_prop('privilege' => "ro");
+ }
+}
diff --git a/root/etc/e-smith/db/configuration/migrate/tftpd.timeout b/root/etc/e-smith/db/configuration/migrate/tftpd.timeout
new file mode 100644
index 0000000..c7b8586
--- /dev/null
+++ b/root/etc/e-smith/db/configuration/migrate/tftpd.timeout
@@ -0,0 +1,7 @@
+{
+ my $tftpd = $DB->get('tftpd') or return;
+ if ( $tftpd->prop('timeout') eq "normal" )
+ {
+ $tftpd->set_prop('timeout' => "default");
+ }
+}
diff --git a/root/etc/e-smith/db/configuration/migrate/tftpd.user b/root/etc/e-smith/db/configuration/migrate/tftpd.user
new file mode 100644
index 0000000..405d8bc
--- /dev/null
+++ b/root/etc/e-smith/db/configuration/migrate/tftpd.user
@@ -0,0 +1,7 @@
+{
+ my $tftpd = $DB->get('tftpd') or return;
+ if ( $tftpd->prop('user') eq "root" )
+ {
+ $tftpd->set_prop('user' => "nobody");
+ }
+}
diff --git a/root/etc/e-smith/db/configuration/migrate/tftpd.v10 b/root/etc/e-smith/db/configuration/migrate/tftpd.v10
new file mode 100644
index 0000000..afdfd25
--- /dev/null
+++ b/root/etc/e-smith/db/configuration/migrate/tftpd.v10
@@ -0,0 +1,10 @@
+{
+ my $tftpd = $DB->get("tftpd") or return;
+
+ my $tftp = $DB->get("tftp") ||
+ $DB->new_record("tftp", { type => "service" });
+
+ $tftp->merge_props($tftpd->props);
+
+ $tftpd->delete;
+}
diff --git a/root/etc/e-smith/templates/etc/hosts.allow/tftp b/root/etc/e-smith/templates/etc/hosts.allow/tftp
new file mode 100644
index 0000000..e14de87
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/hosts.allow/tftp
@@ -0,0 +1,3 @@
+{
+ $DB->hosts_allow_spec('tftp', 'in.tftpd');
+}
diff --git a/root/etc/e-smith/templates/usr/lib/systemd/system/tftp.service.d/50koozali.conf/10Unit b/root/etc/e-smith/templates/usr/lib/systemd/system/tftp.service.d/50koozali.conf/10Unit
new file mode 100644
index 0000000..70968f1
--- /dev/null
+++ b/root/etc/e-smith/templates/usr/lib/systemd/system/tftp.service.d/50koozali.conf/10Unit
@@ -0,0 +1,7 @@
+
+[Unit]
+Description=Tftp Server
+Requires=tftp.socket
+Documentation=man:in.tftpd
+After=network-online.target
+Wants=network-online.target
diff --git a/root/etc/e-smith/templates/usr/lib/systemd/system/tftp.service.d/50koozali.conf/20Service b/root/etc/e-smith/templates/usr/lib/systemd/system/tftp.service.d/50koozali.conf/20Service
new file mode 100644
index 0000000..4b79b0c
--- /dev/null
+++ b/root/etc/e-smith/templates/usr/lib/systemd/system/tftp.service.d/50koozali.conf/20Service
@@ -0,0 +1,50 @@
+{
+ my $blocksize = $tftp{blocksize} || "1468";
+ my $verbosity = "-v";
+ my $log = $tftp{log};
+ my $refuse = $tftp{refuse};
+ my $privilege = $tftp{privilege} || "";
+ my $user = $tftp{user} || "";
+
+ # Now only relevant if you run under xinetd
+ my $timeout = $tftp{timeout} || "";
+
+ if ( $log eq "verbose" ) {
+ $verbosity = "-vv";
+ }
+ elsif ( $log eq "disabled" ) {
+ $verbosity = "";
+ }
+
+ if ( $refuse ne "" ) {
+ $refuse = "-r $refuse";
+ }
+
+ if ( $blocksize <= "512" ) {
+ $blocksize = "512";
+ }
+ elsif ( $blocksize >= "65464" ) {
+ $blocksize = "65464";
+ }
+
+ if ( $privilege eq "rw" ) {
+ $privilege = "-c";
+ } elsif ($privilege = "ro" ) {
+ $privilege = "";
+ }
+
+ if ( $user ne "" ) {
+ $user = "-u $user";
+ }
+
+ $OUT .= "\n";
+ $OUT .= "[Service]\n";
+ $OUT .= "# Options: man in.tftpd\n";
+ $OUT .= "# ExecStartPre=/bin/sleep 10\n";
+ $OUT .= " \n";
+ $OUT .= "ExecStart=\n";
+ $OUT .= "ExecStart=/usr/sbin/in.tftpd -s /tftpboot $verbosity -B $blocksize $user $refuse $privilege\n";
+ $OUT .= " \n";
+ $OUT .= "StandardInput=socket\n";
+}
+
diff --git a/root/etc/e-smith/templates/usr/lib/systemd/system/tftp.service.d/50koozali.conf/30Install b/root/etc/e-smith/templates/usr/lib/systemd/system/tftp.service.d/50koozali.conf/30Install
new file mode 100644
index 0000000..7d79bcf
--- /dev/null
+++ b/root/etc/e-smith/templates/usr/lib/systemd/system/tftp.service.d/50koozali.conf/30Install
@@ -0,0 +1,4 @@
+
+[Install]
+WantedBy=sme-server.target
+Also=tftp.socket
diff --git a/root/etc/e-smith/templates/usr/lib/systemd/system/tftp.socket.d/50koozali.conf/20Socket b/root/etc/e-smith/templates/usr/lib/systemd/system/tftp.socket.d/50koozali.conf/20Socket
new file mode 100644
index 0000000..377b421
--- /dev/null
+++ b/root/etc/e-smith/templates/usr/lib/systemd/system/tftp.socket.d/50koozali.conf/20Socket
@@ -0,0 +1,21 @@
+{
+
+ my $interfaceIP = "127.0.0.1";
+ my $localIP = ${LocalIP};
+ my $port = $tftp{UDPPort};
+ my $access = $tftp{access};
+
+ if ( $access eq "public" ) {
+ $interfaceIP = "0.0.0.0";
+ }
+ elsif ( $access eq "private" ) {
+ $interfaceIP = $localIP;
+ }
+
+ $OUT .= "[Socket]\n";
+ $OUT .= "ListenDatagram=\n";
+ $OUT .= "ListenDatagram=$interfaceIP:$port\n";
+ $OUT .= "FreeBind=True\n";
+
+}
+
diff --git a/root/tftpboot/.gitignore b/root/tftpboot/.gitignore
new file mode 100644
index 0000000..e69de29
diff --git a/root/usr/lib/systemd/system/tftp.service.d/50koozali.conf b/root/usr/lib/systemd/system/tftp.service.d/50koozali.conf
new file mode 100644
index 0000000..ecc15af
--- /dev/null
+++ b/root/usr/lib/systemd/system/tftp.service.d/50koozali.conf
@@ -0,0 +1,21 @@
+
+[Unit]
+Description=Tftp Server
+Requires=tftp.socket
+Documentation=man:in.tftpd
+After=network-online.target
+Wants=network-online.target
+
+[Service]
+Options: man in.tftpd
+#ExecStartPre=/bin/sleep 10
+
+ExecStart=
+ExecStart=/usr/sbin/in.tftpd -s /tftpboot -v -B 1464 -u nobody
+
+StandardInput=socket
+
+
+[Install]
+WantedBy= sme-server.target
+Also=tftp.socket
\ No newline at end of file
diff --git a/root/usr/lib/systemd/system/tftp.socket.d/50koozali.conf b/root/usr/lib/systemd/system/tftp.socket.d/50koozali.conf
new file mode 100644
index 0000000..dbf0c46
--- /dev/null
+++ b/root/usr/lib/systemd/system/tftp.socket.d/50koozali.conf
@@ -0,0 +1,4 @@
+[Socket]
+ListenDatagram=
+ListenDatagram=127.0.0.1:69
+FreeBin=true
\ No newline at end of file
diff --git a/smeserver-tftp-server.spec b/smeserver-tftp-server.spec
new file mode 100644
index 0000000..5913747
--- /dev/null
+++ b/smeserver-tftp-server.spec
@@ -0,0 +1,293 @@
+# $Id: smeserver-tftp-server.spec,v 1.9 2024/03/22 04:55:33 trevorb Exp $
+# Authority: nocvs
+# Name: Trevor Batley
+
+%define name smeserver-tftp-server
+%define version 1.2
+%define release 14
+
+Summary: Wrapper for tftp-server for the Trivial File Transfer Protocol (TFTP).
+Name: %{name}
+Version: %{version}
+Release: %{release}%{?dist}
+License: GPL
+Group: Network
+Source: %{name}-%{version}.tar.xz
+Requires: smeserver-release >= 10.0
+Requires: tftp-server >= 5.0
+BuildRequires: e-smith-devtools >= 1.13.1-03
+BuildRoot: /var/tmp/%{name}-%{version}-%{release}-buildroot
+BuildArch: noarch
+
+%description
+smeserver wrapper for tftp-server
+The Trivial File Transfer Protocol (TFTP) is normally used only for
+booting diskless workstations. The tftp package provides the user
+interface for TFTP, which allows users to transfer files to and from a
+remote machine. This program and TFTP provide very little security,
+and should not be enabled unless it is expressly needed.
+
+%prep
+%setup -q -n %{name}-%{version}
+
+%build
+perl createlinks
+
+%install
+/bin/rm -rf $RPM_BUILD_ROOT
+(cd root ; /usr/bin/find . -depth -print | /bin/cpio -dump $RPM_BUILD_ROOT)
+/bin/rm -f %{name}-%{version}-filelist
+/sbin/e-smith/genfilelist $RPM_BUILD_ROOT > %{name}-%{version}-filelist
+
+%post
+#systemctl enable tftp
+#systemctl start tftp
+
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%files -f %{name}-%{version}-filelist
+%defattr(-,root,root)
+
+%changelog
+* Sat Sep 07 2024 cvs2git.sh aka Brian Read 1.2-14.sme
+- Roll up patches and move to git repo [SME: 12338]
+
+* Sat Sep 07 2024 BogusDateBot
+- Eliminated rpmbuild "bogus date" warnings due to inconsistent weekday,
+ by assuming the date is correct and changing the weekday.
+
+* Fri Mar 22 2024 Trevor Batley 1.2-13.sme
+- Remove superfluous Provides: ipsvd [SME: 12517]
+
+* Mon Jun 27 2022 Trevor Batley 1.2-12.sme
+- Add tftp root directory (/tftpboot) to backups [SME: 12025]
+
+* Thu Apr 14 2022 John Crisp 1.2-11.sme
+- Fix missing systemd directories [SME: 11927]
+- Add default 50koozali.conf files
+
+* Mon Apr 11 2022 John Crisp 1.2-10.sme
+- Update systemd unit files [SME: 11927]
+- Migrate db from tftpd to tftp [SME: 11928]
+
+* Wed Nov 10 2021 Brian Read 1.2-9.sme
+- Expand-hosts-allow-in-update-event [SME: 11074 ]
+
+* Tue Nov 09 2021 Brian Read 1.2-8.sme
+- Add -update event and systemd files [SME: 11074]
+
+* Thu Oct 29 2020 Brian Read 1.2-7.sme
+- Initial import to SME10 tree [SME: 11074]
+
+* Mon Nov 12 2018 John Crisp 1.2-6
+- Add a blksize check [SME:10646]
+
+* Thu Mar 29 2018 John Crisp 1.2-5
+- fix refuse setting when no key is set [10549]
+- add blksize option
+
+* Thu Mar 31 2016 Trevor Batley 1.2-4
+- added whitespace before line in /etc/hosts.allow fragment [9417]
+
+* Sun Mar 20 2016 Trevor Batley 1.2-3
+- Added migrate fragments for the fixed default values in 9043 [SME 9351]
+- Added -r (--refuse) option [SME 9248]
+- Fixed -u option on updsvd (missing space after -u) [SME 9316]
+- Added disabled option on logging [SME 9317]
+
+* Thu Mar 10 2016 Trevor Batley 1.2-2
+- Fixed default values [SME 9043]
+
+* Fri Sep 04 2015 stephane de Labrusse 1.2-1.sme
+- Initial release to contribs9
+
+* Sun Apr 29 2007 Shad L. Lords
+- Clean up spec so package can be built by koji/plague
+
+* Sat Apr 28 2007 Trevor Batley 1.0-1
+- Fixed incorrect createlinks for /etc/rc.d/init.d/supervise/tftpd to daemontools
+- Removed symlink from /service/tftpd to /var/service/tftpd and used createlinks instead
+- Changed %preun from config to /sbin/e-smith/db config and /etc/init.d to /etc/rc.d/init.d
+- Removed %BuildPreReq as this applied when it included tftp-server
+- Added %BuildArch: noarch as this wrapper does NOT require any specific architecture
+
+* Wed Apr 25 2007 Trevor Batley 1.0-1
+- Updated Release tag to new smeserver standard
+- Changed contrib to just contain the wrapper code and require tftp-server from centos
+- As it's a wrapper, changed verion number to it's own (rather that that of tftp-server)
+
+* Sun Dec 17 2006 Charlie Brady
+- Replace deprecated Copyright header with License.
+
+* Tue Apr 4 2006 Trevor Batley
+- Set tftpd to disabled and stop as part of pre-uninstall script
+- Set default user to root
+
+* Mon Mar 20 2006 Trevor Batley
+- Repackage for smeserver v7.x
+- Based on repackaging already done by Daniel Warnet
+
+* Mon Sep 13 2004 Elliot Lee 0.39-1
+- Update to new version makes tftp work, says upstream.
+- Remove malta patch
+
+* Mon Sep 13 2004 Elliot Lee 0.38-1
+- Update to new version fixes #131736
+
+* Tue Jun 15 2004 Elliot Lee
+- rebuilt
+
+* Thu Jun 03 2004 Elliot Lee 0.36-1
+- Update version
+
+* Fri Feb 13 2004 Elliot Lee
+- rebuilt
+
+* Wed Jun 04 2003 Elliot Lee
+- rebuilt
+
+* Fri Apr 11 2003 Elliot Lee
+- 0.33
+- Add /tftpboot directory (#88204)
+
+* Mon Feb 24 2003 Elliot Lee
+- rebuilt
+
+* Sun Feb 23 2003 Tim Powers
+- add BuildPreReq on tcp_wrappers
+
+* Wed Jan 22 2003 Tim Powers
+- rebuilt
+
+* Mon Nov 11 2002 Elliot Lee 0.32-1
+- Update to 0.32
+
+* Wed Oct 23 2002 Elliot Lee 0.30-1
+- Fix #55789
+- Update to 0.30
+
+* Thu Jun 27 2002 Elliot Lee
+- Try applying HJ's patch from #65476
+
+* Fri Jun 21 2002 Tim Powers
+- automated rebuild
+
+* Mon Jun 17 2002 Elliot Lee
+- Update to 0.29
+
+* Thu May 23 2002 Tim Powers
+- automated rebuild
+
+* Wed Jan 09 2002 Tim Powers
+- automated rebuild
+
+* Tue Dec 18 2001 Elliot Lee 0.17-15
+- Update to tftp-hpa-0.28 (bug #56131)
+- Remove include/arpa/tftp.h to fix #57259
+- Add resource limits in tftp-xinetd (#56722)
+
+* Sun Jun 24 2001 Elliot Lee
+- Bump release + rebuild.
+
+* Tue Jun 12 2001 Helge Deller (0.17-13)
+- updated tftp-hpa source to tftp-hpa-0.17
+- tweaked specfile with different defines for tftp-netkit and tftp-hpa version
+- use hpa's tftpd.8 man page instead of the netkits one
+
+* Mon May 07 2001 Helge Deller
+- rebuilt in 7.1.x
+
+* Wed Apr 18 2001 Helge Deller
+- fix tftp client's put problems (#29529)
+- update to tftp-hpa-0.16
+
+* Wed Apr 4 2001 Jakub Jelinek
+- don't let configure to guess compiler, it can pick up egcs
+
+* Thu Feb 08 2001 Helge Deller
+- changed "wait" in xinetd file to "yes" (hpa-tftpd forks and exits) (#26467)
+- fixed hpa-tftpd to handle files greater than 32MB (#23725)
+- added "-l" flag to hpa-tftpd for file-logging (#26467)
+- added description for "-l" to the man-page
+
+* Thu Feb 08 2001 Helge Deller
+- updated tftp client to 0.17 stable (#19640),
+- drop dependency on xinetd for tftp client (#25051),
+
+* Wed Jan 17 2001 Jeff Johnson
+- xinetd shouldn't wait on tftp (which forks) (#23923).
+
+* Sat Jan 6 2001 Jeff Johnson
+- fix to permit tftp put's (#18128).
+- startup as root with chroot to /tftpboot with early reversion to nobody
+ is preferable to starting as nobody w/o ability to chroot.
+- %%post is needed by server, not client. Add %%postun for erasure as well.
+
+* Wed Aug 23 2000 Nalin Dahyabhai
+- default to being disabled
+
+* Thu Aug 17 2000 Jeff Johnson
+- correct group.
+
+* Tue Jul 25 2000 Nalin Dahyabhai
+- change user from root to nobody
+
+* Sat Jul 22 2000 Jeff Johnson
+- update to tftp-hpa-0.14 (#14003).
+- add server_args (#14003).
+- remove -D_BSD_SOURCE (#14003).
+
+* Fri Jul 21 2000 Nalin Dahyabhai
+- cook up an xinetd config file for tftpd
+
+* Wed Jul 12 2000 Prospector
+- automatic rebuild
+
+* Sun Jun 18 2000 Jeff Johnson
+- FHS packaging.
+- update to 0.17.
+
+* Fri May 5 2000 Matt Wilson
+- use _BSD_SOURCE for hpa's tftpd so we get BSD signal semantics.
+
+* Fri Feb 11 2000 Bill Nottingham
+- fix description
+
+* Wed Feb 9 2000 Jeff Johnson
+- compress man pages (again).
+
+* Wed Feb 02 2000 Cristian Gafton
+- man pages are compressed
+- fix description and summary
+
+* Tue Jan 4 2000 Bill Nottingham
+- split client and server
+
+* Tue Dec 21 1999 Jeff Johnson
+- update to 0.16.
+
+* Sat Aug 28 1999 Jeff Johnson
+- update to 0.15.
+
+* Wed Apr 7 1999 Jeff Johnson
+- tftpd should truncate file when overwriting (#412)
+
+* Sun Mar 21 1999 Cristian Gafton
+- auto rebuild in the new build environment (release 22)
+
+* Mon Mar 15 1999 Jeff Johnson
+- compile for 6.0.
+
+* Fri Aug 7 1998 Jeff Johnson
+- build root
+
+* Mon Apr 27 1998 Prospector System
+- translations modified for de, fr, tr
+
+* Mon Sep 22 1997 Erik Troan
+- added check for getpwnam() failure
+
+* Tue Jul 15 1997 Erik Troan
+- initial build