summaryrefslogtreecommitdiff
path: root/h
Commit message (Collapse)AuthorAge
* Implement ZDumpSession and ZLoadSessionGravatar David Benjamin2013-09-28
| | | | This is unlikely to ever get merged, but it'll be handy for roost.
* Use the saved session keys in ZCheckZcodeAuthenticationGravatar David Benjamin2013-09-28
| | | | | | | | | | | | | | | | | This allows for authentication checking to continue working even when tickets expire or are renewed. Also include key expiration logic. This is possibly overly conservative and paranoid by a couple orders of magnitude. Intentionally do not use SERVACK because they're mildly annoying to get at and aren't authenticated. When we receive a notice authenticated with a key, we know the server has received it. From there, we can infer that sufficiently old keys are stale. We can't remove stale keys immediately because some older notices may still be in flight, but after a grace period they can go. The timeout is set to 60 seconds, which is fairly high, but matches Z_ReadWait's timeout.
* Create an alternate Z_AuthProc that saves keysGravatar David Benjamin2013-09-28
| | | | | | | The start of proper session key management in libzephyr. A new Z_AuthProc is added which appends the key into a queue. ZSubscribeTo and ZSubscribeToSansDefaults are modified to use it. For now, it's extremely simple and makes no attempt to expire old keys.
* Add internal Z_MakeZcodeAuthentication functionGravatar David Benjamin2013-09-28
| | | | Explicitly takes a krb5_creds as input.
* Bump find_or_insert_uid's time limitGravatar David Benjamin2013-09-28
| | | | | | | Basing it on krb4's CLOCK_SKEW value doesn't make any sense. We pick 900 because it is just over 128 + 256 + 512, the longest group of three timeouts in the retransmit schedule used by the zephyrd. This allows us to miss two packets in a row and still be fine.
* Expose Z_Subscriptions as ZSubscriptionsGravatar David Benjamin2013-08-08
| | | | | | With a custom send_routine that mirrors ZSrvSendList. This allows for an asynchronous version that replaces send_routine with non-blocking versions (and waits for ACKs out-of-band).
* zctl flush_subsGravatar Jeffrey Hutzelman2013-02-26
| | | | | | | | Provide a new zctl subcommand, flush_subs, to flush all subscriptions for a specified recipient. This is implemented using a new library function, ZFlushUserSubscriptions(). This is the client side of #103
* server: add CLIENT_FLUSHSUBS control messageGravatar Jeffrey Hutzelman2013-02-26
| | | | | | | | | This adds support to the server for a new client control message, CLIENT_FLUSHSUBS, which flushes all subscriptions and pending retransmits for clients belonging to a given principal. The target principal must be the same as the sender, unless the sender is on the opstaff ACL. This is the server side of #103
* Allow zctl flush_locs to take a user argumentGravatar Jeffrey Hutzelman2013-02-26
| | | | | | | | Provide a new library function, ZFlushUserLocations(), to flush locations for a specified user. This can be called using zctl flush_locs, which now takes an optional username parameter. This is the client side of #102
* Send IPv4 addresses ASCII-encoded in v4 bdumpsGravatar Jeffrey Hutzelman2013-02-17
| | | | This fixes #94
* 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.
* 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
|
* make -DZ_DEBUG workGravatar Karl Ramm2011-02-02
|
* Explicitly define ZNotice_Kind constants + actually define the promised stringsGravatar Karl Ramm2011-02-02
| | | | | | | | | Since these are constants used in the protocol be explicit about what values the C compiler is assigning them, and that they can't be arbitrarily rearranged. Also, since we were promising strings for describing them in zephyr.h actually define the array.
* 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
|
* roleplay accordingly with sin_len and sin6_len values on BSD systemsGravatar Karl Ramm2009-12-18
|
* With xzwrite gone, we don't need libdyn.Gravatar Karl Ramm2009-10-10
|
* if __USE_XOPEN_EXTENDED is already defined, there was an annoying message;Gravatar Karl Ramm2009-08-09
| | | | also, we probably shouldn't undefine it
* I managed to convince myself that this won't cause (much) in the way ofGravatar Karl Ramm2009-08-08
| | | | | interoperability issues. But this will buy us a little bit more space for authenticators & such.
* Remove the chock wedging things into DES mode and hopefully redo the ↵Gravatar Karl Ramm2009-07-26
| | | | | | keyusage stuff such that it actually works.
* Build on solarisGravatar Karl Ramm2009-07-14
|
* use less oddball typesGravatar Karl Ramm2009-04-21
|
* prototype for ZTranslateGravatar Karl Ramm2009-04-17
| | | | | It helps if you save your buffer before committing.
* More i18n infrastructureGravatar Karl Ramm2009-04-17
| | | | | | | | | | | | | | | | lib/charset.c h/zephyr/zephyr.h Refactor ZGetCharset into ZGetCharset and a function that does all the same defaulting but returns a string. ZTransliterate is a zephyr-metaphor wrapper for iconv. lib/zephyr-tests.py Wrappers for the functions in charset.c (but not tests) lib/zephyr_tests.txt Tests for the functions in charset.c
* If you don't have termios, get a better computer. Nickels available.Gravatar Karl Ramm2009-04-15
|
* Clean up $Zephyr$sGravatar Karl Ramm2009-04-14
|
* further arpa/nameser_compat.h hijinks for #39Gravatar Karl Ramm2009-04-02
|
* Explicitly #include <arpa/nameser_compat.h> if it exists.Gravatar Karl Ramm2009-04-02
|
* formatting errorGravatar Karl Ramm2009-03-28
|
* I want to get this in now so the structure can stop changing size.Gravatar Karl Ramm2009-03-28
| | | | | | Basically, the plan is to have pointers to each header indiviual header field in z_hdr_fields.
* keep track of total # of incoming header fields, and cksum appropriatelyGravatar Karl Ramm2009-03-24
|
* cmu/zwgcplus changesGravatar Karl Ramm2009-03-15
|
* charset in zwrite, incomplete in zwgcGravatar Karl Ramm2009-03-15
|
* 19 fields zephyrgramsGravatar Karl Ramm2009-03-02
|
* CPP flags for "Znotice has a sockaddr" and Znotice has a charset"Gravatar Karl Ramm2008-12-29
|
* hack at traditional heimdal cryptoGravatar Karl Ramm2008-12-25
|
* sys/socket.h for struct sockaddrGravatar Karl Ramm2008-12-25
|
* change ZNotice_t around a bit, libzephyr4Gravatar Karl Ramm2008-12-25
|
* make this work^H^H^H^Hcompile with HeimdalGravatar Karl Ramm2008-12-24
|
* do it all with krb5Gravatar Karl Ramm2008-12-24
|
* remove macros complicating behind-the-scenes rearrangingGravatar Karl Ramm2008-12-24
|
* allow des key brain dumps from transition servers to krb5-only serversGravatar Karl Ramm2008-12-23
|
* We don't really need a macro for ZGetRealm, do we?Gravatar Karl Ramm2008-12-22
|
* Pull in our own quad_cksum so a pure-krb5 library can deal with Gravatar Karl Ramm2008-12-21
| | | | | checksums from a mixed server.
* cleanup, remove prototype shieldingGravatar Karl Ramm2008-12-21
|
* new constant MAX_PRINCIPAL_SIZE: what it says on the tinGravatar Karl Ramm2008-12-21
| | | | | | | | | define REALM_SZ based on maximum dns name when it's not; this needs to be split from the krb4 REALM_SZ and rethought in context of MAX_PRINCIPAL_SIZE remove prototype macro from Z_WaitForNotice. Need to come back and do more of that.
* define __USE_XOPEN_EXTENDED so we get the signature for getsidGravatar Karl Ramm2008-01-21
|
* actually implement new config testsGravatar Karl Ramm2008-01-21
|