summaryrefslogtreecommitdiff
path: root/server/subscr.c
Commit message (Collapse)AuthorAge
* 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.
* Add IP-address and negative ACL entriesGravatar Jeffrey Hutzelman2013-01-19
| | | | | | | | | | | | | | | | | | | | | This allows ACLs to grant access based on the IP address of a client instead of its principal name. This is done using ACL entries with the syntax "@a.b.c.d". Currently, only IPv4 addresses are supported. A single entry may match all hosts on a particular subnet by using CIDR notation, written as @a.b.c.d/nn. If no length is given, 32 is assumed. Host and principal entries can be freely mixed within the same ACL; the ACL matches if any entry matches the client. Note that this means that ACLs can now match unauthenticated clients (however, this does not lift the general constraint that only authenticated clients can subscribe at all). Additionally, support for negative ACL entries is added. These entries are indicated by a leading '!', which may be applied to both principal and host entries. Negative entries are applied in the style of AFS ACLs; that is, a matching negative entry overrides any positive entry and thus guarantees that matching clients will be denied access. (edited slightly for style by kcr@1TS.ORG)
* add_subscriptions: fix botched mergeGravatar Jeffrey Hutzelman2012-11-24
| | | | | | Fix indentation and remove an inappropriate comment in add_subscriptions(), both of which were the result of a botched merge a long time ago. The actual logic was merged correctly and so does not change.
* Initialize notice objectsGravatar Chaskiel Grundman2012-11-24
| | | | | memset new notice objects in subscr.c (really needed now since all ZFormat* routines require z_num_hdr_fields to be valid or 0.)
* Actually remove the #ifdef OLD_COMPAT and NEW_COMPAT codeGravatar Karl Ramm2012-02-11
| | | | To my knowledge, this hasn't been enabled by anyone in ages
* fix subscriptions-too-wide-breaks-braindump problemGravatar Karl Ramm2010-07-28
| | | | | | | | only send one sub per packet in braindump refactor bdump_send_list_tcp and send_normal_tcp brain dump can now cleanly receive overlarge encrypted packets refactor subscr_send_subs and subscr_send_realm_subs nuke trailing whitespace
* use less oddball typesGravatar Karl Ramm2009-04-21
|
* make sure client is initialized to something falseGravatar Karl Ramm2009-03-22
|
* build everything successfully with -Wall -WerrorGravatar Karl Ramm2009-03-02
|
* do it all with krb5Gravatar Karl Ramm2008-12-24
|
* allow des key brain dumps from transition servers to krb5-only serversGravatar Karl Ramm2008-12-23
|
* a touch of cleanupGravatar Karl Ramm2008-12-21
|
* collapse state of a bunch of #if 0 and #if 1 debugging outputGravatar Karl Ramm2008-01-21
|
* no more NOENCRYPTIONGravatar Karl Ramm2008-01-21
|
* cast args to des_ecb_encrypt and des_quad_cksum to squash last warningsGravatar Karl Ramm2008-01-21
|
* 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
|
* /afs/andrew.cmu.edu/usr18/cg2v/zephyr-krb5-server-20071215+.diffGravatar Karl Ramm2007-12-25
|
* applied athena-update-branch patchGravatar Karl Ramm2007-12-25
|
* Don't allow foreign zephyrd to request a triplet with a non-wildcardGravatar Garry Zacheiss2002-07-02
| | | | recipient.
* Don't accept subscriptions from foreign realms for acl'ed classes.Gravatar Garry Zacheiss2001-07-02
|
* Fix a couple of small memory leaks, and make zephyrd not mistreat peopleGravatar Garry Zacheiss2001-02-28
| | | | who were trying to subscribe to acl'ed classes they weren't on the acl for.
* Changes from CMU:Gravatar Garry Zacheiss2001-02-26
| | | | | | | | | | | | | | | | | | | | | * prototype updates. * Fix some memory leaks. * Better interrealm support: - subscr_subscribe and add_subscriptions need to know what server requests are coming from. - pay attnetion to when we have no more local users listening to a foreign sub and unsubscribe. - Remove unused code. - Call realm_handoff with correct client info. - Add routine to resend our idea of subs in a remote realm to that realm.
* Some RCS ID cleanup: delete $Log$ and replace other RCS keywords with $Id$.Gravatar Greg Hudson1999-01-22
|
* Clean up the dump format: report addresses of clients, and fall back oneGravatar Greg Hudson1998-10-13
| | | | | tab. The old dump format was written for when we grouped clients by host manager.
* Eliminate some cruft: nuke two unused fields in the client structureGravatar Greg Hudson1998-07-16
| | | | | and rename client_which_client() to client_find() and make the second argument a port instead of a notice.
* ZEPHYR_USES_KERBEROS -> HAVE_KRB4; ZEPHYR_USES_HESIOD -> HAVE_HESIODGravatar Greg Hudson1997-10-25
|
* Pull in sources from zephyr locker. See /mit/zephyr/repository forGravatar Greg Hudson1997-09-14
| | | | detailed change information.
* Heavily revamped to support full triplet hashing; mostly, code ahsGravatar Greg Hudson1994-10-31
| | | | been eliminated.
* Include <string.h> instead of <strings.h> (portability)Gravatar Richard Basch1994-08-18
|
* Don't do signal blocking; simply set a semaphore flag indicating it isGravatar Richard Basch1994-08-01
| | | | | in critical code, and let the main loop deal with the flag being set. This saves on context switches into the kernel for this rare condition.
* POSIX signal handlingGravatar Richard Basch1993-11-19
| | | | Encrypt user session keys during server-server updates
* We must run class_deregister()... backing out error in v1.46Gravatar Richard Basch1993-05-05
|
* Avoid an empty "if" statementGravatar Richard Basch1993-03-23
|
* fix compare_subs to deal with wildcards correctlyGravatar Lucien Van Elsen1992-02-13
| | | | and still maintain sort order.
* turn off other debugging info (for speed)Gravatar Lucien Van Elsen1992-01-17
| | | | | | always increment reference counts when dup'ing zstrings. fix calls to compare_subs to take new do_wildcard arg added additional logic to compare_subs to deal with wildcards
* Converted back to ANSI C (with ifdef's for standard C)Gravatar Lucien Van Elsen1991-12-04
|
* disabled a couple of messages.Gravatar Kenneth G Raeburn1991-05-13
| | | | for "zctl ret": verify authenticity of client.
* Made several log messages more clear or informative; fixedGravatar Kenneth G Raeburn1991-02-04
| | | | | | | preprocessing problems. (subscr_copy_def_subs): Recompute the hash value for the destination. (subscr_match_list): Create ZString objects when needed, not before. (subscr_cancel): Don't assume subscription listss are ordered.
* C++ conversion and lots of modifications from summer & fall workGravatar Kenneth G Raeburn1990-11-13
|
* Check that we aren't doing a brain dump before diving into the aclGravatar Kenneth G Raeburn1990-08-16
| | | | | | | | code. This should speed things up quite a bit, but requires that we be careful with the "bdumping" flag when we turn on concurrency. Author: tytso. Auditor: raeburn.
* 1) fix fencepost error in array sizingGravatar John Kohl1990-01-10
| | | | | | 2) make sure the right port number is used for dumping (just in case... doesn't seem to make a difference, but might explain the xmit xmit failures to port #0)
* classes are now case-insensitiveGravatar John Kohl1989-12-13
|
* add support for counting old style requestsGravatar John Kohl1989-10-26
|
* should use empty strings, not null pointersGravatar John Kohl1989-10-02
|
* don't check subscription sender when dumpingGravatar John Kohl1988-10-20
|
* Checked for recipient matching subscriber or empty; changed meaning ofGravatar Kenneth G Raeburn1988-10-19
| | | | iui restriction; conditionalized char buf[] on KERBEROS.
* if no subs, just return when dumping to a fileGravatar John Kohl1988-07-16
|
* remove erroneous free/allocs for default subscriptiosn.Gravatar John Kohl1988-07-08
| | | | | | | We want the pointers to be into static (well, pseudo-static) storage so the caller only needs to free the subscription chain. (besides, extract_subscription has stuff point into the middle of a packet anyway)
* fix up defaults; add more debuggingGravatar John Kohl1988-06-24
|