diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..126b35b --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/radvd-1.9.2.tar.gz diff --git a/.radvd.metadata b/.radvd.metadata new file mode 100644 index 0000000..1097f8e --- /dev/null +++ b/.radvd.metadata @@ -0,0 +1 @@ +5bc39b7bec0d73ffa443634c340e75b54867766c SOURCES/radvd-1.9.2.tar.gz diff --git a/README.md b/README.md deleted file mode 100644 index 0e7897f..0000000 --- a/README.md +++ /dev/null @@ -1,5 +0,0 @@ -The master branch has no content - -Look at the c7 branch if you are working with CentOS-7, or the c4/c5/c6 branch for CentOS-4, 5 or 6 - -If you find this file in a distro specific branch, it means that no content has been checked in yet diff --git a/SOURCES/radvd-1.9.2-cli-man-help.patch b/SOURCES/radvd-1.9.2-cli-man-help.patch new file mode 100644 index 0000000..3f16c24 --- /dev/null +++ b/SOURCES/radvd-1.9.2-cli-man-help.patch @@ -0,0 +1,35 @@ +diff --git a/radvd.8.man b/radvd.8.man +index 0310150..c31d626 100644 +--- a/radvd.8.man ++++ b/radvd.8.man +@@ -71,6 +71,9 @@ This option disables privilege separation, and as a result, + the non-privileged radvd process does not have permissions to + change interface configuration. + .TP ++.BR "\-n" , " \-\-nodaemon" ++Prevent the daemonizing. ++.TP + .BR "\-c" , " \-\-configtest" + Test configuration and do startup tests and then exit. + .TP +diff --git a/radvd.c b/radvd.c +index 7cadf16..a241779 100644 +--- a/radvd.c ++++ b/radvd.c +@@ -42,6 +42,7 @@ char usage_str[] = { + " -p, --pidfile=PATH Sets the pid file.\n" + " -t, --chrootdir=PATH Chroot to the specified path.\n" + " -u, --username=USER Switch to the specified user.\n" ++" -s, --singleprocess Disable privilege separation.\n" + " -n, --nodaemon Prevent the daemonizing.\n" + #ifdef HAVE_NETLINK + " -L, --disablenetlink Disable netlink feature\n" +@@ -137,7 +138,7 @@ main(int argc, char *argv[]) + pidfile = PATH_RADVD_PID; + + /* parse args */ +-#define OPTIONS_STR "d:C:l:m:p:t:u:vhcsn" ++#define OPTIONS_STR "d:C:l:m:f:p:t:u:vhcsn" + #ifdef HAVE_GETOPT_LONG + while ((c = getopt_long(argc, argv, OPTIONS_STR, prog_opt, &opt_idx)) > 0) + #else diff --git a/SOURCES/radvd-tmpfs.conf b/SOURCES/radvd-tmpfs.conf new file mode 100644 index 0000000..590652c --- /dev/null +++ b/SOURCES/radvd-tmpfs.conf @@ -0,0 +1 @@ +d /var/run/radvd 0755 radvd radvd diff --git a/SOURCES/radvd-write_pid_file.patch b/SOURCES/radvd-write_pid_file.patch new file mode 100644 index 0000000..9825d79 --- /dev/null +++ b/SOURCES/radvd-write_pid_file.patch @@ -0,0 +1,170 @@ +diff --git a/radvd.c b/radvd.c +index 82efe0b..508abd1 100644 +--- a/radvd.c ++++ b/radvd.c +@@ -17,6 +17,10 @@ + #include "includes.h" + #include "radvd.h" + #include "pathnames.h" ++#include ++#include ++#include ++ + + #ifdef HAVE_NETLINK + #include "netlink.h" +@@ -99,6 +103,9 @@ int readin_config(char *); + int check_conffile_perm(const char *, const char *); + const char *get_pidfile(void); + void main_loop(void); ++static int write_pid_file(char const *daemon_pid_file_ident, pid_t pid); ++static int open_and_lock_pid_file(char const *daemon_pid_file_ident); ++static void check_pid_file(char const *daemon_pid_file_ident); + + int + main(int argc, char *argv[]) +@@ -110,6 +117,7 @@ main(int argc, char *argv[]) + char *chrootdir = NULL; + int configtest = 0; + int daemonize = 1; ++ int pidfd = 0; + #ifdef HAVE_GETOPT_LONG + int opt_idx; + #endif +@@ -332,6 +340,14 @@ main(int argc, char *argv[]) + exit(1); + } + daemon_retval_send(0); ++ } else { ++ pidfd = open_and_lock_pid_file(pidfile); ++ if (0 != write_pid_file(pidfile, getpid())) { ++ flog(LOG_ERR, "failure writing pid file detected"); ++ exit(-1); ++ } ++ check_pid_file(pidfile); ++ + } + + /* +@@ -347,11 +363,11 @@ main(int argc, char *argv[]) + main_loop(); + flog(LOG_INFO, "sending stop adverts", pidfile); + stop_adverts(); +- if (daemonize) { +- flog(LOG_INFO, "removing %s", pidfile); +- unlink(pidfile); ++ if (!daemonize){ ++ close(pidfd); + } +- ++ flog(LOG_INFO, "removing %s", pidfile); ++ unlink(pidfile); + return 0; + } + +@@ -841,3 +857,105 @@ usage(void) + exit(1); + } + ++static int open_pid_file(char const *daemon_pid_file_ident) ++{ ++ int pidfd = open(daemon_pid_file_ident, O_SYNC | O_CREAT | O_RDWR, 0644); ++ if (-1 == pidfd) { ++ flog(LOG_ERR, "unable to open pid file, %s: %s", daemon_pid_file_ident, strerror(errno)); ++ exit(-1); ++ } else { ++ dlog(LOG_DEBUG, 5, "opened pid file %s", daemon_pid_file_ident); ++ } ++ return pidfd; ++} ++ ++static int open_and_lock_pid_file(char const *daemon_pid_file_ident) ++{ ++ dlog(LOG_DEBUG, 3, "radvd startup PID is %d", getpid()); ++ ++ int pidfd = open_pid_file(daemon_pid_file_ident); ++ ++ int lock = flock(pidfd, LOCK_EX | LOCK_NB); ++ if (0 != lock) { ++ flog(LOG_ERR, "unable to lock pid file, %s: %s", daemon_pid_file_ident, strerror(errno)); ++ exit(-1); ++ } else { ++ dlog(LOG_DEBUG, 4, "locked pid file %s", daemon_pid_file_ident); ++ } ++ ++ return pidfd; ++} ++ ++ ++static int write_pid_file(char const *daemon_pid_file_ident, pid_t pid) ++{ ++ int pidfd = open_pid_file(daemon_pid_file_ident); ++ char pid_str[20] = {""}; ++ sprintf(pid_str, "%d", pid); ++ dlog(LOG_DEBUG, 3, "radvd PID is %s", pid_str); ++ size_t len = strlen(pid_str); ++ int rc = write(pidfd, pid_str, len); ++ if (rc != (int)len) { ++ return -1; ++ } ++ char newline[] = {"\n"}; ++ len = strlen(newline); ++ rc = write(pidfd, newline, len); ++ if (rc != (int)len) { ++ close(pidfd); ++ return -1; ++ } ++ rc = fsync(pidfd); ++ if (rc != 0) { ++ dlog(LOG_DEBUG, 4, "failed to fsync pid file: %s", daemon_pid_file_ident); ++ } ++ rc = close(pidfd); ++ if (rc != 0) { ++ dlog(LOG_DEBUG, 4, "failed to close pid file: %s", daemon_pid_file_ident); ++ } ++ char *dirstrcopy = strdup(daemon_pid_file_ident); ++ char *dirstr = dirname(dirstrcopy); ++ int dirfd = open(dirstr, O_RDONLY); ++ if (dirfd == -1){ ++ dlog(LOG_DEBUG, 4, "Failed to open directory: %s", dirstr); ++ } ++ rc = fsync(dirfd); ++ if (rc != 0) { ++ dlog(LOG_DEBUG, 4, "failed to fsync pid dir: %s", dirstr); ++ } ++ rc = close(dirfd); ++ if (rc != 0) { ++ dlog(LOG_DEBUG, 4, "failed to close pid dir: %s", dirstr); ++ } ++ free(dirstrcopy); ++ dlog(LOG_DEBUG, 4, "wrote pid %d to pid file: %s", pid, daemon_pid_file_ident); ++ return rc; ++} ++ ++ ++static void check_pid_file(char const *daemon_pid_file_ident) ++{ ++ FILE *pidfile = fopen(daemon_pid_file_ident, "r"); ++ ++ if (!pidfile) { ++ flog(LOG_ERR, "unable to open pid file, %s: %s", daemon_pid_file_ident, strerror(errno)); ++ exit(-1); ++ } ++ ++ pid_t pid = -1; ++ ++ int rc = fscanf(pidfile, "%d", &pid); ++ fclose(pidfile); ++ ++ if (rc != 1) { ++ flog(LOG_ERR, "unable to read pid from pid file: %s", daemon_pid_file_ident); ++ exit(-1); ++ } ++ ++ if (pid != getpid()) { ++ flog(LOG_ERR, "pid in file, %s, doesn't match getpid(): %d != %d", daemon_pid_file_ident, pid, getpid()); ++ exit(-1); ++ } ++ dlog(LOG_DEBUG, 4, "validated pid file, %s: %d", daemon_pid_file_ident, pid); ++} ++ diff --git a/SOURCES/radvd.service b/SOURCES/radvd.service new file mode 100644 index 0000000..15aeee6 --- /dev/null +++ b/SOURCES/radvd.service @@ -0,0 +1,12 @@ +[Unit] +Description=Router advertisement daemon for IPv6 +After=network.target + +[Service] +EnvironmentFile=/etc/sysconfig/radvd +ExecStart=/usr/sbin/radvd $OPTIONS +Type=forking +PIDFile=/var/run/radvd/radvd.pid + +[Install] +WantedBy=multi-user.target diff --git a/SPECS/radvd.spec b/SPECS/radvd.spec new file mode 100644 index 0000000..9764ca6 --- /dev/null +++ b/SPECS/radvd.spec @@ -0,0 +1,452 @@ +Summary: A Router Advertisement daemon +Name: radvd +Version: 1.9.2 +Release: 9%{?dist}.4 +# The code includes the advertising clause, so it's GPL-incompatible +License: BSD with advertising +Group: System Environment/Daemons +URL: http://www.litech.org/radvd/ +Source0: %{url}dist/%{name}-%{version}.tar.gz +Source1: radvd-tmpfs.conf +Source2: radvd.service +Patch0: radvd-1.9.2-cli-man-help.patch +Patch1: radvd-write_pid_file.patch +BuildRequires: byacc +BuildRequires: flex +BuildRequires: flex-static +BuildRequires: libdaemon-devel +BuildRequires: pkgconfig +BuildRequires: systemd-units +Requires(postun): systemd-units +Requires(preun): systemd-units +Requires(post): systemd-units +Requires(pre): shadow-utils + +%description +radvd is the router advertisement daemon for IPv6. It listens to router +solicitations and sends router advertisements as described in "Neighbor +Discovery for IP Version 6 (IPv6)" (RFC 2461). With these advertisements +hosts can automatically configure their addresses and some other +parameters. They also can choose a default router based on these +advertisements. + +Install radvd if you are setting up IPv6 network and/or Mobile IPv6 +services. + +%prep +%setup -q +%patch0 -p1 -F2 -b .cli-man-help +%patch1 -p1 -b .pidfile + +for F in CHANGES; do + iconv -f iso-8859-1 -t utf-8 < "$F" > "${F}.new" + touch -r "$F" "${F}.new" + mv "${F}.new" "$F" +done + +%build +export CFLAGS="$RPM_OPT_FLAGS -fPIE -fno-strict-aliasing -Werror=all" +export LDFLAGS='-pie -Wl,-z,relro,-z,now,-z,noexecstack,-z,nodlopen' +%configure --with-pidfile=%{_localstatedir}/run/radvd/radvd.pid +make %{?_smp_mflags} + +%install +make DESTDIR=$RPM_BUILD_ROOT install + +mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig +mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/run/radvd +mkdir -p $RPM_BUILD_ROOT%{_unitdir} + +install -m 644 redhat/radvd.conf.empty $RPM_BUILD_ROOT%{_sysconfdir}/radvd.conf +install -m 644 redhat/radvd.sysconfig $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/radvd + +install -D -p -m 644 %{SOURCE1} $RPM_BUILD_ROOT%{_tmpfilesdir}/radvd.conf +install -m 644 %{SOURCE2} ${RPM_BUILD_ROOT}%{_unitdir} + +%postun +%systemd_postun_with_restart radvd.service + +%post +%systemd_post radvd.service + +%preun +%systemd_preun radvd.service + +# Static UID and GID defined by /usr/share/doc/setup-*/uidgid +%pre +getent group radvd >/dev/null || groupadd -r -g 75 radvd +getent passwd radvd >/dev/null || \ + useradd -r -u 75 -g radvd -d / -s /sbin/nologin -c "radvd user" radvd +exit 0 + +%files +%doc CHANGES COPYRIGHT INTRO.html README TODO +%{_unitdir}/radvd.service +%config(noreplace) %{_sysconfdir}/radvd.conf +%config(noreplace) %{_sysconfdir}/sysconfig/radvd +%config(noreplace) %{_tmpfilesdir}/radvd.conf +%dir %attr(-,radvd,radvd) %{_localstatedir}/run/radvd/ +%doc radvd.conf.example +%{_mandir}/*/* +%{_sbindir}/radvd +%{_sbindir}/radvdump + +%changelog +* Thu Apr 12 2018 Pavel Zhukov - 1.9.2-9.4 +- Check pid file before running main flow +- Enable -Werror=all flag + +* Wed Apr 11 2018 Pavel Zhukov - 1.9.2-9.3 +- Related: 1564391 - Backport file locking and pidfile removal + +* Thu Mar 22 2018 Pavel Zhukov - 1.9.2-9.2 +- Resolves: #1564391 - Write pid file in nodaemon mode +- Fix coverity warnings + +* Mon Aug 17 2015 Pavel Šimerda - 1.9.2-9 +- Related: #1180991 - rebuilt + +* Thu Apr 16 2015 Pavel Šimerda - 1.9.2-8 +- Resolves: #1180991 - use /usr/lib/tmpfiles.d instead of /etc/tmpfiles.d + +* Fri Jan 24 2014 Daniel Mach - 1.9.2-7 +- Mass rebuild 2014-01-24 + +* Thu Jan 02 2014 Pavel Šimerda - 1.9.2-6 +- Resolves: #1045179 - use -fno-strict-aliasing for radvd + +* Fri Dec 27 2013 Daniel Mach - 1.9.2-5 +- Mass rebuild 2013-12-27 + +* Tue Dec 10 2013 Pavel Šimerda - 1.9.2-4 +- Resolves: #948863 - man page scan results for radvd + +* Thu Feb 14 2013 Fedora Release Engineering - 1.9.2-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Wed Dec 05 2012 Petr Pisar - 1.9.2-2 +- Create radvd user and and group with ID 75 + +* Wed Nov 21 2012 Petr Pisar - 1.9.2-1 +- 1.9.2 bump + +* Wed Aug 22 2012 Petr Pisar - 1.9.1-4 +- Modernize systemd scriptlets (bug #850292) + +* Tue Aug 07 2012 Petr Pisar - 1.9.1-3 +- Remove useless chkconfig invocation (bug #845562) +- Do not reload unit file while unistalling + +* Sat Jul 21 2012 Fedora Release Engineering - 1.9.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Wed Jun 20 2012 Petr Pisar - 1.9.1-1 +- 1.9.1 bump + +* Fri Jun 15 2012 Petr Pisar - 1.9-2 +- Drop already defined _GNU_SOURCE symbol + +* Fri Jun 15 2012 Petr Pisar - 1.9-1 +- 1.9 bump + +* Wed May 23 2012 Petr Pisar - 1.8.5-4 +- Start service independently on network state (bug #824205) +- Do not force systemd logging to syslog (bug #824205) + +* Thu Apr 12 2012 Petr Pisar - 1.8.5-3 +- Store PID before daemonizing (bug #811997) + +* Tue Apr 03 2012 Petr Pisar - 1.8.5-2 +- Clean up spec file +- Remove System V init support +- Fix radvd account creation + +* Wed Feb 01 2012 Jiri Skala - 1.8.5-1 +- update to latest upstream version 1.8.5 + +* Mon Jan 23 2012 Jiri Skala - 1.8.4-1 +- update to latest upstream version 1.8.4 + +* Sat Jan 14 2012 Fedora Release Engineering - 1.8.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Mon Oct 17 2011 Jiri Skala - 1.8.3-1 +- update to latest upstream version 1.8.3 + +* Mon Oct 10 2011 Jiri Skala - 1.8.2-2 +- fixes CVE-2011-3602 + +* Fri Oct 07 2011 Jiri Skala - 1.8.2-1 +- update to latest upstream version 1.8.2 +- this update fixes CVE-2011-360{1..5} + +* Wed Aug 24 2011 Jiri Skala - 1.8.1-1 +- update to latest upstream version 1.8.1 + +* Fri Aug 12 2011 Jiri Skala - 1.8-2 +- fixes #729367 - supress unadvisable messages - applied upstream changes + +* Tue May 17 2011 Jiri Skala - 1.8-1 +- update to latest upstream version 1.8 + +* Mon Feb 28 2011 Jiri Skala - 1.7-3 +- fixes #679830 - radvd dies when reloading, initscript reports "OK" + +* Wed Feb 23 2011 Jiri Skala - 1.7-2 +- fixes #679821 - provides native systemd service file + +* Wed Feb 09 2011 Jiri Skala - 1.7-1 +- update to latest upstream version 1.7 + +* Wed Feb 09 2011 Fedora Release Engineering - 1.6-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Wed Dec 01 2010 Jiri Skala - 1.6-4 +- #656682 - using tmpfiles.d + +* Wed Dec 01 2010 Jiri Skala - 1.6-3 +- fixes #656682 - using %%ghost on files in /var/run +- added necessary buildrequres flex-static + +* Fri May 21 2010 Jiri Skala - 1.6-2 +- ensure fax group id == fax user id + +* Mon Mar 29 2010 Jiri Skala - 1.6-1 +- update to latest upstream version + +* Mon Jan 25 2010 Jiri Skala - 1.5-3 +- spec file uses Source1 for radvd.init no more init from tarball +- radvd.init modified to make rmplint more silent +- removed userdel usage from postun + +* Wed Jan 13 2010 Jan Gorig - 1.5-2 +- mistake in last build + +* Wed Jan 13 2010 Jan Gorig - 1.5-1 +- updated do latest upstream version +- fixed #554125 - added error message + +* Sun Oct 18 2009 Jiri Skala - 1.3-4 +- fixed #528178 - added force-reload + +* Sun Oct 18 2009 Jiri Skala - 1.3-3 +- fixed #528178 - retval in init script to be posix compliant + +* Sun Jul 26 2009 Fedora Release Engineering - 1.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Fri Jul 10 2009 Jiri Skala - 1.3-1 +- updated to latest upstream version + +* Wed Jun 03 2009 Jiri Skala - 1.2-3 +- changed echos to be able to accept localization + +* Tue Apr 28 2009 Jiri Skala - 1.2-2 +- fixed ambiguous condition in init script (exit 4) + +* Mon Apr 27 2009 Jiri Skala - 1.2-1 +- updated to latest upstream version + +* Fri Feb 27 2009 Jiri Skala - 1.1-8 +- regenerated posix patch + +* Wed Feb 25 2009 Fedora Release Engineering - 1.1-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Mon Feb 02 2009 Jiri Skala - 1.1-6 +- init script modified to be POSIX compliant + +* Wed Sep 3 2008 Tom "spot" Callaway - 1.1-5 +- fix license tag + +* Mon Jun 23 2008 Jiri Skala - 1.1-4 +- radvd.init LSB compliant + +* Fri Apr 11 2008 Martin Nagy - 1.1-3 +- remove stale pid file on start + +* Mon Feb 25 2008 Martin Nagy - 1.1-2 +- fix up string comparison in init script (#427047) + +* Mon Feb 25 2008 Martin Nagy - 1.1-1 +- update to new upstream version +- remove patch fixed in upstream: initscript + +* Mon Feb 11 2008 Martin Nagy - 1.0-6 +- rebuild for gcc-4.3 + +* Tue Nov 13 2007 Martin Bacovsky - 1.0-5 +- resolves #376081: The radvd init script exits without doing anything if /usr/sbin/radvd exists + +* Thu Aug 23 2007 Martin Bacovsky - 1.0-4.1 +- Rebuild + +* Fri Aug 3 2007 Martin Bacovsky - 1.0-4 +- resolves: #247041: Initscript Review + +* Wed Feb 14 2007 Martin Bacovsky - 1.0-3 +- specfile cleanup for review + +* Thu Feb 1 2007 Martin Bacovsky - 1.0-2 +- linking with -pie flag turned on again + +* Wed Jan 31 2007 Martin Bacovsky - 1.0-1 +- rebase to upstream 1.0 +- Resolves: #225542: radvd 1.0 released + +* Fri Aug 18 2006 Jesse Keating - 0.9.1-4 +- rebuilt with latest binutils to pick up 64K -z commonpagesize on ppc* + (#203001) + +* Mon Jul 17 2006 Jason Vas Dias - 0.9.1-3 +- rebuild for new FC-6 build environment + +* Mon Jun 05 2006 Jason Vas Dias - 0.9.1-2 +- fix BuildRequires for Mock + +* Fri Feb 10 2006 Jesse Keating - 0.9.1-1.1.1 +- bump again for double-long bug on ppc(64) + +* Tue Feb 07 2006 Jason Vas Dias - 0.9.1-1.1 +- rebuild for new gcc, glibc, glibc-kernheaders + +* Mon Jan 16 2006 Jason Vas Dias - 0.9.1-1 +- Upgrade to upstream version 0.9.1 + +* Sun Dec 18 2005 Jason Vas Dias +- Upgrade to upstream version 0.9 + +* Fri Dec 09 2005 Jesse Keating +- rebuilt + +* Tue Jul 19 2005 Jason Vas Dias 0.8.2.FC5 +- fix bug 163593: must use '%%configure' to get correct conf file location + +* Mon Jul 18 2005 Jason Vas Dias 0.8-1.FC5 +- Upgrade to upstream version 0.8 + +* Fri Jul 8 2005 Pekka Savola 0.8-1 +- 0.8. +- Ship the example config file as %%doc (Red Hat's #159005) + +* Fri Feb 25 2005 Jason Vas Dias 0.7.3-1_FC4 +- make version compare > that of FC3 + +* Mon Feb 21 2005 Jason Vas Dias 0.7.3-1 +- Upgrade to radvd-0.7.3 +- add execshield -fPIE / -pie compile / link options + +* Mon Feb 21 2005 Pekka Savola 0.7.3-1 +- 0.7.3. + +* Mon Oct 28 2002 Pekka Savola +- 0.7.2. + +* Tue May 7 2002 Pekka Savola +- remove '-g %%{RADVD_GID}' when creating the user, which may be problematic + if the user didn't exist before. + +* Fri Apr 12 2002 Bernhard Rosenkraenzer 0.7.1-1 +- 0.7.1 (bugfix release, #61023), fixes: + - Check that forwarding is enabled when starting radvd + (helps avoid odd problems) + - Check configuration file permissions (note: in setuid operation, must not + be writable by the user.group) + - Cleanups and enhancements for radvdump + - Ensure NULL-termination with strncpy even with overlong strings + (non-criticals, but better safe than sorry) + - Update config.{guess,sub} to cope with some newer architectures + - Minor fixes and cleanups + +* Mon Jan 14 2002 Pekka Savola +- 0.7.1. + +* Wed Jan 09 2002 Tim Powers +- automated rebuild + +* Tue Jan 8 2002 Pekka Savola +- Change 'reload' to signal HUP to radvd instead or restarting. + +* Fri Dec 28 2001 Pekka Savola +- License unfortunately is BSD *with* advertising clause, so to be pedantic, + change License: to 'BSD-style'. + +* Thu Nov 22 2001 Bernhard Rosenkraenzer +- 0.7.0 + +* Wed Nov 14 2001 Pekka Savola +- spec file cleanups +- update to 0.7.0. + +* Mon Jul 9 2001 Bernhard Rosenkraenzer +- initial Red Hat Linux build + +* Sun Jun 24 2001 Pekka Savola +- add a patch from USAGI for overflow, Copyright -> License. + +* Wed Jun 20 2001 Pekka Savola +- use /sbin/service. +- update to 0.6.2pl4. + +* Sat Apr 28 2001 Pekka Savola +- update to 0.6.2pl3. + +* Wed Apr 11 2001 Pekka Savola +- update to 0.6.2pl2. + +* Wed Apr 4 2001 Pekka Savola +- update to 0.62pl1. Bye bye patches! +- Require: initscripts (should really be with a version providing IPv6) +- clean up the init script, make condrestart work properly +- Use a static /etc/rc.d/init.d; init.d/radvd required it anyway. + +* Sun Apr 1 2001 Pekka Savola +- add patch to chroot (doesn't work well yet, as /proc is used directly) +- clean up droproot patch, drop the rights earlier; require user-writable +pidfile directory +- set up the pidfile directory at compile time. + +* Sat Mar 31 2001 Pekka Savola +- add select/kill signals patch from Nathan Lutchansky . +- add address syntax checked fix from Marko Myllynen . +- add patch to check the pid file before fork. +- add support for OPTIONS sourced from /etc/sysconfig/radvd, provide a nice +default one. +- add/delete radvd user, change the pidfile to /var/run/radvd/radvd.pid. +- fix initscript NETWORKING_IPV6 check. + +* Sun Mar 18 2001 Pekka Savola +- add droproot patch, change to nobody by default (should use radvd:radvd or +the like, really). + +* Mon Mar 5 2001 Tim Powers +- applied patch supplied by Pekka Savola in #30508 +- made changes to initscript as per Pekka's suggestions + +* Thu Feb 15 2001 Tim Powers +- needed -D_GNU_SOURCE to build properly + +* Tue Feb 6 2001 Tim Powers +- use %%configure and %%makeinstall, just glob the manpages, cleans + things up +- fixed initscript so that it can be internationalized in the future + +* Fri Feb 2 2001 Pekka Savola +- Create a single package(source) for glibc21 and glibc22 (automatic +Requires can handle this just fine). +- use %%{_mandir} and friends +- add more flesh to %%doc +- streamline %%config file %%attrs +- streamline init.d file a bit: + * add a default chkconfig: (default to disable for security etc. reasons; + also, the default config isn't generic enough..) + * add reload/condrestart + * minor tweaks + * missing: localization support (initscripts-5.60) +- use %%initdir macro + +* Thu Feb 1 2001 Lars Fenneberg +- updated to new release 0.6.2 + +* Thu Feb 1 2001 Marko Myllynen +- initial version, radvd version 0.6.1