Commit Graph

29 Commits

Author SHA1 Message Date
Jeffrey Altman 04527412e3 Follow the Linux kernel's lead on "fallthrough"
The pseudo keyword 'fallthrough' is defined such that case statement
blocks must end with any of these keywords:
 * break;
 * fallthrough;
 * continue;
 * goto <label>;
 * return [expression];
 *
 *  gcc: https://gcc.gnu.org/onlinedocs/gcc/Statement-Attributes.html#Statement-Attributes

The macro is defined either as

  __attribute__((__fallthrough__))

or as

  do {} while (0)  /* fallthrough */

not including the semicolon.

This change implements the Linux kernel style and updates several locations
where "/*fallthrough*/ and /* FALLTHROUGH */ were not previously replaced.

Externally imported code such as libedit, libtommath and sqlite are
restored to their unaltered state.

Change-Id: I69db8167b0d5884f55d96d72de3059a0235a1ba3
2022-01-21 10:39:47 -05:00
Jeffrey Altman f341fa7721 prevent unintended sign extension errors
When an unsigned char is shifted << 24 bits its type will be
promoted to signed 32-bits.   If the value is then assigned to
an unsigned 64-bit value sign extension will occur.

Prevent the unwanted sign extension by explicitly casting the
value to unsigned long before shifting.

Change-Id: Iabeac0f17dc3229a2dc89abe71960a8ffbf523f8
2022-01-16 00:23:05 -05:00
Nicolas Williams c607135a03 Use fallthrough statement attribute (moar) 2022-01-14 16:53:34 -06:00
Nicolas Williams ddc6113610 Use fallthrough statement attribute 2022-01-14 16:32:58 -06:00
Nicolas Williams ea83f068e9 kadm5/kadmin: Add read-only mode
Now we can have read-only kadmind instances.
2020-09-08 00:25:40 -05:00
Nicolas Williams 7d50445d1b Generic: Fix warnings (fallthrough mosty) 2020-09-07 22:04:59 -05:00
Jeffrey Altman 750cfc092c fix 00c590e4ff
Change-Id: I73623d71842086374ae58c6e751395fd6925a704
2019-01-04 01:41:23 -05:00
Jeffrey Altman 00c590e4ff fix null pointer dereference errors
Change-Id: I82a849afe9f432a1084ad2505ce88b1fe4d3d3af
2019-01-04 01:02:59 -05:00
Nicolas Williams f38089257b Misc fixes (coverity) 2016-11-20 17:43:51 -06:00
Jeffrey Altman dba026b5ef Introduce and apply krb5_storage_from_socket
On Windows a file descriptor is an int value allocated by the
local module instance of the C Run Time Library.  A socket handle is a
SOCKET value allocated by a Winsock Provider for the requested family and
protocol.   These two values cannot be mixed and there is no mechanism for
converting between the two.   The _get_osfhandle() and _open_osfhandle()
functions can work with a standard HANDLE (file, pipe, etc) but cannot be
used for a SOCKET.

The Heimdal krb5_storage_from_fd() routine counted on the osf conversion
functions working on SOCKET values.  Since they do not any attempt to call
krb5_storage_from_fd() on a socket resulted in an assertion being thrown
by the C RTL.

Another problem is SOCKET value truncation when storing a 64-bit value
into a 32-bit int.

To address these problems a new krb5_storage_from_socket() routine is
introduced.  This routine setups a krb5_storage that stores a socket value
as a rk_socket_t and provides a set of helper routines that always use
network ready functions.

The krb5_storage_from_fd() routines no longer use net_read() and
net_write() but provide helpers that follow their logic so that pipes can
be processed.

All call sites that allocate a socket now store the socket as rk_socket_t
and call krb5_storage_from_socket().

All locations that previously called the bare close() on a socket value
now call rk_closesocket().

Change-Id: I045f775b2a5dbf5cf803751409490bc27fffe597
2014-02-04 23:20:08 -05:00
Love Hornquist Astrand 0879b9831a remove trailing whitespace 2011-05-21 11:57:31 -07:00
Love Hornquist Astrand f5f9014c90 Warning fixes from Christos Zoulas
- shadowed variables
- signed/unsigned confusion
- const lossage
- incomplete structure initializations
- unused code
2011-04-29 20:25:05 -07:00
Anton Lundin eac56da073 Rename struct to not clash with aix header sys/proc.h
Signed-off-by: Love Hornquist Astrand <lha@h5l.org>
2010-09-16 22:47:27 -07:00
Love Hornquist Astrand be73fa4687 use krb5_socket_t 2009-12-23 14:12:38 +01:00
Asanka Herath a1942c1bad Use SOCKET data type instead of ints for sockets in kadmin
Also use the new mini_inetd() API
2009-11-24 10:17:51 -08:00
Love Hornquist Astrand 6c28d3a772 Switch __FUNCTION__ to __FILE__ since Sun Developer studio doesn't support the former 2009-08-15 05:59:35 +02:00
Love Hörnquist Åstrand eff4906254 use kadm5_s_init_with_password_ctx
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@24549 ec53bebd-3082-4978-b11e-865c3cabbd6b
2009-01-30 16:48:55 +00:00
Love Hörnquist Åstrand be2f540704 drop <gssapi/*
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@24545 ec53bebd-3082-4978-b11e-865c3cabbd6b
2009-01-30 16:48:14 +00:00
Love Hörnquist Åstrand 9a96b6bc44 fix out of range bug
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@24479 ec53bebd-3082-4978-b11e-865c3cabbd6b
2009-01-25 20:49:22 +00:00
Love Hörnquist Åstrand 9cfb421fc5 fix out of range bug
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@24477 ec53bebd-3082-4978-b11e-865c3cabbd6b
2009-01-25 20:49:03 +00:00
Love Hörnquist Åstrand bfda4404bf use gssapi/*.h
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@24390 ec53bebd-3082-4978-b11e-865c3cabbd6b
2009-01-25 00:36:19 +00:00
Love Hörnquist Åstrand 92a1b951fe make xdr function static
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@24316 ec53bebd-3082-4978-b11e-865c3cabbd6b
2009-01-11 23:05:01 +00:00
Love Hörnquist Åstrand 82c4b8765f move xdr function here
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@24313 ec53bebd-3082-4978-b11e-865c3cabbd6b
2009-01-11 22:02:31 +00:00
Love Hörnquist Åstrand d3cef9ce45 plug memory leaks and other bugs
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@24247 ec53bebd-3082-4978-b11e-865c3cabbd6b
2009-01-11 21:43:11 +00:00
Love Hörnquist Åstrand 3223c11aab verify verf header
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@24244 ec53bebd-3082-4978-b11e-865c3cabbd6b
2009-01-11 21:42:42 +00:00
Love Hörnquist Åstrand 8f80188c3f cleanup
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@24243 ec53bebd-3082-4978-b11e-865c3cabbd6b
2009-01-11 21:42:32 +00:00
Love Hörnquist Åstrand a2626628ea plug memory leak
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@24242 ec53bebd-3082-4978-b11e-865c3cabbd6b
2009-01-11 21:42:23 +00:00
Love Hörnquist Åstrand e3f856b566 remove debug log
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@24241 ec53bebd-3082-4978-b11e-865c3cabbd6b
2009-01-11 21:42:14 +00:00
Love Hörnquist Åstrand 8d16bb0b68 add support for add,get,delete,chrand for the MIT kadmin protocol
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@24240 ec53bebd-3082-4978-b11e-865c3cabbd6b
2009-01-11 21:42:02 +00:00