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