summaryrefslogtreecommitdiff
path: root/zhm
Commit message (Collapse)AuthorAge
* Add a basic seccomp profile to zhmGravatar Benjamin Barenblat2019-12-03
| | | | | | | | | | | | | | | | | | | Prevent zhm from doing some evil things while it runs (e.g., ptracing) by implementing a basic seccomp-bpf filter. The filter still allows a lot of potentially dangerous operations (e.g., unlink(2)), but this is a good start. The filter is based partly on a close reading of the zhm and libhesiod source code and partly on empirical evidence from running zhm under strace. I’ve run zhm with this filter for several days without incident, but some edge cases (e.g., server failover) are still untested. configure decides whether or not to enable seccomp by looking for libseccomp. By default, it treats seccomp as an enhancement and enables it opportunistically. Builders can force seccomp to be enabled or disabled by passing --with-seccomp or --without-seccomp, respectively, to configure.
* Dewarn with -DDEBUGGravatar Jeffrey Hutzelman2013-03-18
| | | | It's sort of nice to be able to build with debugging.
* Make _sure_ we're not making assumptions about ZNotice_ts on the stackGravatar Karl Ramm2013-02-26
|
* handle generated man pages with offset buildsGravatar Karl Ramm2013-02-24
|
* Substitute paths into man pagesGravatar Jeffrey Hutzelman2013-02-21
| | | | | | Generate the man pages for zwgc, zctl, zhm, and zephyrd at build time, so they can refer to the paths actually used instead of whatever was used on Athena in the 1980's.
* zhm: Don't destroy auth on retransmitGravatar Jeffrey Hutzelman2013-02-16
| | | | | | | When retransmitting a notice after a timeout, just send the original packet instead of reformatting the notice, which destroys new-style authenticators. This fixes #92
* zhm: Don't send HM_BOOT on new_server if -N usedGravatar Jeffrey Hutzelman2013-02-14
| | | | | | | | | | | If -N was used, then not only should the hostmanager not send an HM_BOOT to the first server it contacts; it should also not send one to other servers it tries when the first one fails to respond. However, it should consistently send HM_BOOT when coming back from a SIGHUP deactivation where it has previously sent HM_FLUSH (if you don't want that behavior, use -f and avoid sending SIGHUP to the hostmanager). This fixes #88
* Clean up warningsGravatar Jeffrey Hutzelman2013-02-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Eliminate compiler warnings due to various issues (listed below). This allows Zephyr to build cleanly under GCC versions ranging from 4.1.0 to 4.7.2 with all of the options shown below: -g -O2 -Wall -Werror -Wno-deprecated-declarations -Wmissing-declarations -Wpointer-arith -Wstrict-prototypes -Wshadow -Wextra -Wno-missing-field-initializers -Wno-unused-parameter and, on recent versions, -Wunreachable-code Test builds were done - On Ubuntu 12.10 (Quantal Quetzal) using both MIT Kerberos 1.10.1 and Heimdal 1.6, without krb4 and both with and without C-Ares and Hesiod - On Fedora 14 using Heimdal 0.6, without C-Ares or Hesiod and both with and without krb4 (KTH Kerberos 1.3rc2) - On Fedora Core 3, Fedora Core 5, Fedora 7, and Fedora 10, using Heimdal 0.6 and without C-Ares, Hesiod, or krb4 It also allows clean builds on Solaris 10 under the Sun Studio 12 (9/07) C compiler with the following options: -g -fd -v -errfmt -errhdr=%user -errtags=yes -errwarn=%all -erroff=E_OLD_STYLE_FUNC_DECL,E_ENUM_TYPE_MISMATCH_ARG,E_ARG_INCOMPATIBLE_WITH_ARG ... and under Solaris 9 with the Sun Forte 7 (3/02) C compiler with the above options and -erroff=E_FUNC_HAS_NO_RETURN_STMT. Solaris builds were done with Heimdal 0.6 and without C-Ares, Hesiod, or krb4. The following types of issues are addressed in this change: - Parameters and local variables with the same names as library functions - Parameters and local variables with the same names as globals - Declarations for exported global variables missing from headers - Prototypes for exported functions missing from headers - Missing 'static' on functions that shouldn't be exported - Old-style function declarations - Duplicate declarations - Type mismatches - Unused variables and functions - Uninitialized variables - Forward references to enums - Necessary header files not included - Violations of the aliasing rules, where GCC was able to detect them - Missing braces on if blocks that might be empty - Attempts to do pointer arithmetic on pointers of type void *, which is not permitted in standard C. - An attempt to pass a function pointer via a void * parameter, which is not permitted in standard C. Instead, we now pass a pointer to a structure, which then contains the required function pointer. - Unnecessary inclusion of <krb5_err.h>, which is already included by <krb5.h> when the former exists, and might not be protected against double inclusion, depending on which com_err was used. - Missing include of <com_err.h>, which was masked by the fact that it is included by headers generated by e2fsprogs compile_et - Use of com_err() with a non-constant value in place of the format string, which in every case was a fixed-size buffer in which a message was built using sprintf(!). Both the calls to sprintf and the fixed-size buffers have been removed, in favor of just letting com_err() do the formatting. - Various cases where X library functions expecting a parameter of type wchar_t * were instead passed a parameter of type XChar2b *. The two types look similar, but are not the same and are _not_ interchangeable. - An overly-simplistic configure test which failed to detect existence of <term.h> on Solaris, due to not including <curses.h>. - Using the wrong type for the flags output of krb5_auth_con_getflags() when building against Heimdal. A configure test is added to detect the correct type.
* New version propagation to replace keyword substitution, part 1Gravatar Karl Ramm2011-11-25
|
* Retool our use of configure such that we track it like everyone else doesGravatar Karl Ramm2011-10-23
| | | | | i.e. don't keep generated or foreign stuff in our source tree. As a side effect, this lets us use a libtool, etc. from this century
* It is still not the 80s anymore -- remove all caddr_tsGravatar Karl Ramm2011-02-02
|
* Document the -n and -N flags to zhm.Gravatar Karl Ramm2010-12-04
|
* No more K&R!Gravatar Karl Ramm2010-12-04
|
* (Dumb preprocessor tricks)--Gravatar Karl Ramm2010-12-04
|
* Have the makefiles support explicit target directories properly, courtesy ↵Gravatar Karl Ramm2010-11-06
| | | | wthrowe@mit.edu
* stop using MAXHOSTNAMELEN in a variety of places. Also ↵Gravatar Karl Ramm2010-08-24
| | | | nuke-trailing-whitespace.
* autoconf test for etext, cleanup #ifdefs for ancient stuff we don't build onGravatar Karl Ramm2010-03-17
|
* Add process size estimation for Mac OS X on x86.Gravatar Karl Ramm2009-10-10
|
* Clean up $Zephyr$sGravatar Karl Ramm2009-04-14
|
* add defs for datarootdir so configure will Shut UpGravatar Karl Ramm2009-04-13
| | | | | | | | | | Rearrange what libraries get pulled in where, so dpkg-shlibdeps doesn't whine (see a theme here?) (Also so that, say, znol, doesn't have to link with Everything.) This will break platforms that don't do shared-library dependencies.
* passes gcc -Wall with no warnings other than des cryppt C_block sadness and ↵Gravatar Karl Ramm2008-01-21
| | | | getsid problem
* de K&RifyGravatar Karl Ramm2008-01-21
|
* applied athena-update-branch patchGravatar Karl Ramm2007-12-25
|
* debian patch applied and reconciled, version unfinalizedGravatar Karl Ramm2007-07-20
|
* Add shared library support for libzephyr.Gravatar Greg Hudson2005-07-14
|
* Punt athstatic.Gravatar Garry Zacheiss2004-09-10
|
* *** empty log message ***Gravatar Garry Zacheiss2003-02-06
|
* include -f flag in usage message.Gravatar Garry Zacheiss2000-05-19
|
* Implement exponential backoff for finding servers.Gravatar Greg Hudson2000-05-08
|
* Add support for -f to disable client flushing.Gravatar Greg Hudson2000-04-05
|
* Don't reset a null timer. It's bad.Gravatar Greg Hudson1999-10-20
| | | | (When removing a packet from the queue.)
* Don't declare inet_addr(); it doesn't belong to us.Gravatar Greg Hudson1999-10-14
|
* fix things Irix n32 cc complains aboutGravatar Dan Winship1999-08-12
|
* Some RCS ID cleanup: delete $Log$ and replace other RCS keywords with $Id$.Gravatar Greg Hudson1999-01-22
|
* Remember to free removed queue entries.Gravatar Greg Hudson1998-07-02
|
* In choose_server(), free the memory allocated by hes_resolve().Gravatar Greg Hudson1998-07-02
| | | | Lots of cleanup necessary for this change.
* Hardcode PIDDIR as /var/athena for now. We'll change it to someGravatar Greg Hudson1998-06-10
| | | | autoconf-specified directory later.
* When we get a notice from our server, turn off the booting flag. (WeGravatar Greg Hudson1998-04-16
| | | | | used to do that; it got lost when we went from alarm to select.) Otherwise we punt our subs every time we switch servers.
* Eliminate crufty reference to DEBUG.Gravatar Greg Hudson1998-02-02
|
* When processing a queue entry's timer, set it to NULL so that itGravatar Greg Hudson1998-02-02
| | | | doesn't accidentally get reset in new_server().
* Do CFLAGS the gnu standard way. This means we compile with -g by default.Gravatar Greg Hudson1998-01-31
|
* ZEPHYR_USES_KERBEROS -> HAVE_KRB4; ZEPHYR_USES_HESIOD -> HAVE_HESIODGravatar Greg Hudson1997-10-25
|
* confdir became sysconfdir.Gravatar Greg Hudson1997-09-23
| | | | Rip out support for in-tree com_err.
* From mhpower: avoid possible buffer overflows.Gravatar Greg Hudson1997-09-23
|
* Pull in sources from zephyr locker. See /mit/zephyr/repository forGravatar Greg Hudson1997-09-14
| | | | detailed change information.
* zhm could spin after losing contact with a server. This patch doesGravatar Greg Hudson1997-06-09
| | | | | | | three things to resent_notices(): makes sure the while loop makes progress even when there's a packet whose timeout hasn't been reached, doesn't gratuitously reset timeout_type to NOTICES if we called new_server(), and doesn't reset the alarm if we called new_server().
* Retransmit notices on a 2-2-4-4-8 schedule instead of on a 25-25-25Gravatar Greg Hudson1997-03-21
| | | | schedule.
* Need -lcompat for insque() and remque() under NetBSD; don't build withGravatar Greg Hudson1994-11-12
| | | | -lhesiod unless specified.
* Add nofork option (-n).Gravatar Greg Hudson1994-10-31
|
* Fix syslog includes.Gravatar Greg Hudson1994-10-31
|