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
..
2013-06-22 21:17:32 -04:00
2013-02-13 16:15:00 +08:00
2009-12-21 08:45:28 +01:00
2013-02-13 16:15:00 +08:00
2011-07-24 16:02:22 -07:00
2012-03-13 23:56:11 -04:00
2013-03-05 21:47:20 -06:00
2011-05-21 11:57:31 -07:00
2013-02-13 16:15:00 +08:00
2013-07-18 14:58:54 +02:00
2009-12-21 08:45:28 +01:00
2013-02-13 16:15:00 +08:00
2013-09-15 11:17:53 -04:00
2010-09-18 23:50:38 -04:00
2013-10-04 18:58:31 -04:00
2011-05-17 23:12:51 -07:00
2013-09-10 22:31:38 -04:00
2013-06-22 21:17:32 -04:00
2013-04-29 22:54:11 -07:00
2013-10-22 18:19:11 -07:00
2011-05-17 23:12:51 -07:00
2013-02-13 16:15:00 +08:00
2013-06-22 21:17:32 -04:00
2013-02-13 16:15:00 +08:00
2012-03-06 09:34:43 +00:00
2011-03-12 13:50:39 -08:00
2013-06-22 21:17:32 -04:00
2013-07-16 15:00:19 +02:00
2013-06-22 21:17:32 -04:00
2012-03-06 09:34:43 +00:00
2013-02-13 16:15:00 +08:00
2012-03-06 09:34:43 +00:00
2013-06-22 21:17:32 -04:00
2013-10-21 08:32:11 -07:00
2013-06-22 21:17:32 -04:00
2013-07-16 15:00:19 +02:00
2012-03-06 09:34:43 +00:00
2013-02-13 16:15:00 +08:00
2013-06-22 21:17:32 -04:00
2012-03-13 23:56:11 -04:00
2013-09-10 22:31:38 -04:00
2013-02-13 16:15:00 +08:00
2012-02-20 19:45:41 +00:00
2013-06-03 21:46:20 -07:00
2011-05-21 11:57:31 -07:00
2012-05-09 08:15:42 +02:00
2012-01-10 22:54:50 +01:00
2012-07-02 11:33:18 -04:00
2012-03-10 10:23:57 -08:00
2013-02-13 16:15:00 +08:00
2013-07-10 22:02:43 +02:00
2013-06-22 21:17:32 -04:00
2013-10-04 18:24:38 -05:00
2009-12-21 08:45:28 +01:00
2009-12-21 08:45:28 +01:00
2010-09-01 21:00:07 -07:00
2013-02-13 16:15:00 +08:00
2013-02-13 16:15:00 +08:00
2013-09-12 12:14:39 -05:00
2013-06-22 21:17:32 -04:00
2013-02-13 16:15:00 +08:00
2013-02-13 16:15:00 +08:00
2013-02-13 16:15:00 +08:00
2013-02-13 16:15:00 +08:00
2009-12-21 08:45:28 +01:00
2013-10-21 08:22:02 -07:00
2013-07-19 14:56:01 +02:00
2013-02-13 16:15:00 +08:00
2013-02-13 16:15:00 +08:00
2011-03-12 19:29:00 -08:00
2013-06-27 19:41:10 +02:00
2013-02-13 16:15:00 +08:00
2013-02-13 16:15:00 +08:00
2013-02-13 16:15:00 +08:00
2013-02-13 16:15:00 +08:00
2013-02-13 16:15:00 +08:00
2013-09-10 22:31:38 -04:00
2008-09-13 08:53:55 +00:00
2008-09-13 08:53:55 +00:00
2008-09-13 08:53:55 +00:00
2008-09-13 08:53:55 +00:00
2011-07-24 16:02:22 -07:00
2011-05-21 11:57:31 -07:00
2008-12-11 04:54:33 +00:00
2011-05-21 11:57:31 -07:00
2011-05-21 11:57:31 -07:00
2011-05-21 11:57:31 -07:00
2008-09-13 08:53:55 +00:00
2008-09-13 08:53:55 +00:00
2011-05-21 11:57:31 -07:00
2013-10-15 11:52:37 +02:00
2008-09-13 08:53:55 +00:00
2008-09-13 08:53:55 +00:00
2008-09-13 08:53:55 +00:00
2009-07-17 20:39:35 -07:00
2008-09-13 08:53:55 +00:00
2008-09-13 08:53:55 +00:00
2011-05-04 21:31:10 -07:00
2011-05-21 11:57:31 -07:00
2008-09-13 08:53:55 +00:00
2008-09-13 08:53:55 +00:00
2011-05-21 11:57:31 -07:00
2011-04-29 20:37:33 -07:00
2008-09-13 08:53:55 +00:00
2013-09-10 22:31:38 -04:00
2011-05-21 11:57:31 -07:00
2008-09-13 08:53:55 +00:00
2008-09-13 08:53:55 +00:00
2008-09-13 08:53:55 +00:00
2011-05-21 11:57:31 -07:00
2008-09-13 08:53:55 +00:00
2008-09-13 08:53:55 +00:00
2008-09-13 08:53:55 +00:00
2013-10-06 16:01:46 -04:00
2008-09-13 08:53:55 +00:00
2011-04-29 20:37:33 -07:00
2008-09-13 08:53:55 +00:00
2008-09-13 08:53:55 +00:00
2008-09-13 08:53:55 +00:00
2012-02-05 16:26:32 -06:00
2009-12-21 08:45:28 +01:00
2013-12-05 16:00:21 -06:00
2013-10-06 16:42:05 -04:00
2005-10-08 15:39:42 +00:00
2011-04-29 20:37:33 -07:00
2007-07-15 20:49:46 +00:00
2009-05-04 06:17:40 +00:00
2013-06-22 21:17:32 -04:00
2012-10-07 11:28:28 -07:00
2014-01-08 21:46:06 -05:00
2014-02-04 23:20:08 -05:00
2013-02-10 19:02:52 -08:00
2013-09-10 22:31:38 -04:00
2014-02-04 23:20:08 -05:00
2013-02-13 16:15:00 +08:00
2013-06-22 21:17:32 -04:00
2013-02-13 16:15:00 +08:00
2011-05-17 12:02:16 -04:00
2013-02-13 16:15:00 +08:00
2013-02-13 16:15:00 +08:00
2013-06-22 21:17:32 -04:00
2009-12-21 08:45:28 +01:00
2011-05-17 12:02:16 -04:00
2012-02-20 19:45:41 +00:00
2013-02-14 16:46:40 +08:00
2012-05-09 08:15:42 +02:00
2011-05-21 11:57:31 -07:00
2014-02-04 23:20:08 -05:00
2013-06-22 21:17:32 -04:00
2013-02-13 16:15:00 +08:00
2009-12-21 08:45:28 +01:00
2013-09-12 13:32:22 -05:00
2013-06-22 21:17:32 -04:00
2014-02-04 14:37:54 -06:00
2013-10-06 16:42:05 -04:00
2009-12-21 08:45:28 +01:00
2010-08-20 13:14:10 -04:00
2013-02-13 16:15:00 +08:00
2009-12-21 08:45:28 +01:00
2009-12-21 08:45:28 +01:00
2013-02-13 16:15:00 +08:00
2013-07-31 18:17:17 -05:00
2013-02-13 16:15:00 +08:00
2009-12-21 08:45:28 +01:00
2013-02-13 16:15:00 +08:00
2013-02-13 16:15:00 +08:00
2013-02-13 16:15:00 +08:00
2013-04-26 00:05:53 -07:00
2013-02-13 16:15:00 +08:00
2013-02-13 16:15:00 +08:00
2013-02-13 16:15:00 +08:00
2013-02-13 16:15:00 +08:00
2013-02-10 19:02:52 -08:00
2013-09-12 12:36:39 -04:00
2012-09-27 14:26:29 -07:00
2013-02-13 16:15:00 +08:00
2009-12-21 08:45:28 +01:00
2014-02-04 23:20:08 -05:00
2014-02-04 23:20:08 -05:00
2014-02-04 23:20:08 -05:00
2014-02-04 23:20:08 -05:00
2011-04-29 20:25:05 -07:00
2012-05-28 13:14:55 +01:00
2011-05-21 11:57:31 -07:00
2012-05-28 15:10:09 +01:00
2012-02-20 19:45:41 +00:00
2011-05-21 11:57:31 -07:00
2010-09-18 14:45:33 -07:00
2012-02-21 11:17:55 +00:00
2011-05-21 11:57:31 -07:00
2011-10-22 14:54:26 -05:00
2013-09-12 12:14:40 -05:00
2010-12-03 01:12:31 -05:00
2011-05-21 11:57:31 -07:00
2009-08-18 15:56:29 +02:00
2009-05-04 06:17:40 +00:00
2012-07-15 01:30:09 -05:00
2009-05-04 06:17:40 +00:00
2011-07-24 14:09:23 -07:00
2009-05-04 06:17:40 +00:00
2011-05-21 11:57:31 -07:00
2009-05-04 06:17:40 +00:00
2011-05-21 11:57:31 -07:00
2011-12-08 13:34:02 -06:00
2009-05-04 06:17:40 +00:00
2011-05-21 11:57:31 -07:00
2009-05-04 06:17:40 +00:00
2011-12-03 13:02:28 -08:00
2013-03-05 21:47:20 -06:00
2009-05-04 06:17:40 +00:00
2010-05-30 13:37:07 -07:00
2009-05-04 06:17:40 +00:00
2010-11-03 11:12:24 +00:00
2011-11-15 21:53:34 -06:00
2012-07-15 00:55:08 -05:00
2009-05-04 06:17:40 +00:00
2011-05-21 11:57:31 -07:00
2013-07-16 14:57:03 +02:00
2009-12-21 08:45:28 +01:00
2011-05-22 20:43:31 -07:00
2012-12-22 00:23:18 +08:00
2010-08-20 13:06:54 -04:00
2009-04-25 16:27:19 +00:00
2013-12-10 00:47:11 -06:00
2013-02-13 16:15:00 +08:00
2014-02-04 23:20:08 -05:00
2009-12-07 21:16:43 -08:00
2011-11-02 23:20:55 -05:00
2009-12-21 08:45:28 +01:00