Re: [HACKERS] Kerberos 5 breakage.

Поиск
Список
Период
Сортировка
От Matthew N. Dodd
Тема Re: [HACKERS] Kerberos 5 breakage.
Дата
Msg-id Pine.BSF.3.96.980520134155.17033T-100000@sasami.jurai.net
обсуждение исходный текст
Ответ на Re: [HACKERS] Kerberos 5 breakage.  (Tom Ivar Helbekkmo <tih+mail@Hamartun.Priv.NO>)
Ответы Re: [HACKERS] Kerberos 5 breakage.  ("Henry B. Hotz" <hotz@jpl.nasa.gov>)
Re: [HACKERS] Kerberos 5 breakage.  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-hackers
On 20 May 1998, Tom Ivar Helbekkmo wrote:
> > While Kerberos 5 authentication and authorization is nice, I'd like to
> > investigate the possibility of adding encryption as well.
>
> Absolutely.  This should be specified in the pg_hba.conf file, so that
> you could demand Kerberos authentication plus encryption for sensitive
> data.  When not demanded by pg_hba.conf, it should be a client option.

I read through the SSL patch and am convinced that we need a little more
coherent arrangment of interface methods.  Allowing direct manipulation of
the file descriptors is really going to make adding stuff like this (SSL,
Kerb5 encryption etc) next to impossible.

Take a look at Apache 1.2 vx. 1.3 for an idea of what I'm talking about.

Also, allowing writes of single characters is bad; you incur a context
switch each write.  The client and server should be writing things into
largish buffers and writing those instead of doing small writes.

The existence of the following scare me...

pqPutShort(int integer, FILE *f)
pqPutLong(int integer, FILE *f)
pqGetShort(int *result, FILE *f)
pqGetLong(int *result, FILE *f)
pqGetNBytes(char *s, size_t len, FILE *f)
pqPutNBytes(const char *s, size_t len, FILE *f)
pqGetString(char *s, size_t len, FILE *f)
pqPutString(const char *s, FILE *f)
pqGetByte(FILE *f)
pqPutByte(int c, FILE *f)

(from src/backend/libpq/pqcomprim.c)

A select based I/O buffering system would seem to be in order here...

I'd like to see these routines passing around a connection information
struct that contains the file handle and other connection options as well.

I'll not bother beating on this anymore as I'm unlikely to cover anything
that has not already been covered.  Regardless, this issue needs some
critical analysis before any code is changed.

Failing to address this issue really raises the cost of adding stuff like
SSL and Kerberos5 encryption.

Take a look at src/main/buff.c and src/include/buff.h in Apache 1.3 at how
they use their 'struct buff_struct' for some interesting examples.

/*
   Matthew N. Dodd        | A memory retaining a love you had for life
   winter@jurai.net        | As cruel as it seems nothing ever seems to
   http://www.jurai.net/~winter | go right - FLA M 3.1:53
*/


В списке pgsql-hackers по дате отправления:

Предыдущее
От: Tom Ivar Helbekkmo
Дата:
Сообщение: Re: [HACKERS] Kerberos 5 breakage.
Следующее
От: The Hermit Hacker
Дата:
Сообщение: AnonCVS ...