Merge commit 'lha/master' into win32-port2

* commit 'lha/master':
  glue for strsvisx
  add Allan McRae and Victor Guerra, sort
  Version Heimdal 1.3.2
  Remove fd caching since we don't have unload (deconstructor) support
This commit is contained in:
Asanka Herath
2009-12-01 16:58:05 -05:00
5 changed files with 35 additions and 31 deletions

11
NEWS
View File

@@ -6,6 +6,17 @@ Release Notes - Heimdal - Version Heimdal 1.4
- KCM is polished up and now used in production
- NTLM first class citizen, credentials stored in KCM
- Table driven ASN.1 compiler, smaller!, not enabled by default
- Native Windows client support
Release Notes - Heimdal - Version Heimdal 1.3.2
Bug fixes
- Don't cache /dev/*random file descriptor, it doesn't get unloaded
- Make C++ safe
- Misc warnings
Release Notes - Heimdal - Version Heimdal 1.3.1
Bug fixes

View File

@@ -190,6 +190,7 @@ AC_CHECK_FUNCS([ \
setprogname \
setstate \
strsvis \
strsvisx \
strunvis \
strvis \
strvisx \
@@ -388,7 +389,7 @@ AM_CONDITIONAL(have_fnmatch_h,
AC_FOREACH([rk_func], [strndup strsep strtok_r],
[AC_NEED_PROTO([#include <string.h>], rk_func)])
AC_FOREACH([rk_func], [strsvis strunvis strvis strvisx svis unvis vis],
AC_FOREACH([rk_func], [strsvis strsvisx strunvis strvis strvisx svis unvis vis],
[AC_NEED_PROTO([#ifdef HAVE_VIS_H
#include <vis.h>
#endif], rk_func)])

View File

@@ -37,6 +37,7 @@ The @code{pkcs11.h} headerfile was written by the Scute project.
Bugfixes, documentation, encouragement, and code has been contributed by:
@table @asis
@item Alexander Boström
@item Allan McRae
@item Andrew Bartlett
@item Andrew Cobaugh
@item Anton Lundin
@@ -64,8 +65,8 @@ Bugfixes, documentation, encouragement, and code has been contributed by:
@item Marc Horowitz
@item Mario Strasser
@item Mark Eichin
@item Mattias Amnefelt
@item Martin von Gagern
@item Mattias Amnefelt
@item Michael B Allen
@item Michael Fromberger
@item Michal Vocu
@@ -76,10 +77,11 @@ Bugfixes, documentation, encouragement, and code has been contributed by:
@item Phil Fisher
@item Rafal Malinowski
@item Rainer Toebbicke
@item Roman Divacky
@item Richard Nyberg
@item Roman Divacky
@item Sho Hosoda, 細田 将
@item Stefan Metzmacher
@item Victor Guerra
@item Zeqing Xia
@item Åke Sandgren
@item and we hope that those not mentioned here will forgive us.

View File

@@ -42,9 +42,6 @@
#include "randi.h"
static int random_fd = -1;
static HEIMDAL_MUTEX random_mutex = HEIMDAL_MUTEX_INITIALIZER;
/*
* Unix /dev/random
*/
@@ -93,44 +90,29 @@ static int
unix_bytes(unsigned char *outdata, int size)
{
ssize_t count;
int once = 0;
int fd;
if (size < 0)
return 0;
else if (size == 0)
return 1;
HEIMDAL_MUTEX_lock(&random_mutex);
if (random_fd == -1) {
retry:
random_fd = get_device_fd(O_RDONLY);
if (random_fd < 0) {
HEIMDAL_MUTEX_unlock(&random_mutex);
return 0;
}
}
fd = get_device_fd(O_RDONLY);
if (fd < 0)
return 0;
while (size > 0) {
HEIMDAL_MUTEX_unlock(&random_mutex);
count = read (random_fd, outdata, size);
HEIMDAL_MUTEX_lock(&random_mutex);
if (random_fd < 0) {
if (errno == EINTR)
continue;
else if (errno == EBADF && once++ == 0) {
close(random_fd);
random_fd = -1;
goto retry;
}
return 0;
} else if (count <= 0) {
HEIMDAL_MUTEX_unlock(&random_mutex);
count = read(fd, outdata, size);
if (count < 0 && errno == EINTR)
continue;
else if (count <= 0) {
close(fd);
return 0;
}
outdata += count;
size -= count;
}
HEIMDAL_MUTEX_unlock(&random_mutex);
close(fd);
return 1;
}

View File

@@ -955,6 +955,14 @@ ROKEN_LIB_FUNCTION int ROKEN_LIB_CALL
strsvis(char *, const char *, int, const char *);
#endif
#if !defined(HAVE_STRSVISX) || defined(NEED_STRSVISX_PROTO)
#ifndef HAVE_STRSVISX
#define strsvisx rk_strsvisx
#endif
ROKEN_LIB_FUNCTION int ROKEN_LIB_CALL
strsvisx(char *, const char *, size_t, int, const char *);
#endif
#if !defined(HAVE_STRUNVIS) || defined(NEED_STRUNVIS_PROTO)
#ifndef HAVE_STRUNVIS
#define strunvis rk_strunvis