patches for easier mirroring, to eliminate a special copy, to make www.freebsd.org/security a full copy of security.freebsd.org and be eventually be the same. For now files are just sitting there. The symlinks are missing. Discussed on: www (repository location) Discussed with: simon (so)
319 lines
9.3 KiB
Diff
319 lines
9.3 KiB
Diff
Index: crypto/openssh/buffer.c
|
|
===================================================================
|
|
RCS file: /home/ncvs/src/crypto/openssh/buffer.c,v
|
|
retrieving revision 1.1.1.1.2.2
|
|
retrieving revision 1.1.1.1.2.2.4.2
|
|
diff -c -p -c -r1.1.1.1.2.2 -r1.1.1.1.2.2.4.2
|
|
*** crypto/openssh/buffer.c 28 Oct 2000 23:00:47 -0000 1.1.1.1.2.2
|
|
--- crypto/openssh/buffer.c 17 Sep 2003 14:57:32 -0000 1.1.1.1.2.2.4.2
|
|
*************** RCSID("$OpenBSD: buffer.c,v 1.8 2000/09/
|
|
*** 23,30 ****
|
|
void
|
|
buffer_init(Buffer *buffer)
|
|
{
|
|
! buffer->alloc = 4096;
|
|
! buffer->buf = xmalloc(buffer->alloc);
|
|
buffer->offset = 0;
|
|
buffer->end = 0;
|
|
}
|
|
--- 23,33 ----
|
|
void
|
|
buffer_init(Buffer *buffer)
|
|
{
|
|
! const u_int len = 4096;
|
|
!
|
|
! buffer->alloc = 0;
|
|
! buffer->buf = xmalloc(len);
|
|
! buffer->alloc = len;
|
|
buffer->offset = 0;
|
|
buffer->end = 0;
|
|
}
|
|
*************** buffer_init(Buffer *buffer)
|
|
*** 34,41 ****
|
|
void
|
|
buffer_free(Buffer *buffer)
|
|
{
|
|
! memset(buffer->buf, 0, buffer->alloc);
|
|
! xfree(buffer->buf);
|
|
}
|
|
|
|
/*
|
|
--- 37,46 ----
|
|
void
|
|
buffer_free(Buffer *buffer)
|
|
{
|
|
! if (buffer->alloc > 0) {
|
|
! memset(buffer->buf, 0, buffer->alloc);
|
|
! xfree(buffer->buf);
|
|
! }
|
|
}
|
|
|
|
/*
|
|
*************** buffer_append(Buffer *buffer, const char
|
|
*** 69,74 ****
|
|
--- 74,81 ----
|
|
void
|
|
buffer_append_space(Buffer *buffer, char **datap, unsigned int len)
|
|
{
|
|
+ u_int newlen;
|
|
+
|
|
/* If the buffer is empty, start using it from the beginning. */
|
|
if (buffer->offset == buffer->end) {
|
|
buffer->offset = 0;
|
|
*************** restart:
|
|
*** 93,100 ****
|
|
goto restart;
|
|
}
|
|
/* Increase the size of the buffer and retry. */
|
|
! buffer->alloc += len + 32768;
|
|
! buffer->buf = xrealloc(buffer->buf, buffer->alloc);
|
|
goto restart;
|
|
}
|
|
|
|
--- 100,111 ----
|
|
goto restart;
|
|
}
|
|
/* Increase the size of the buffer and retry. */
|
|
! newlen = buffer->alloc + len + 32768;
|
|
! if (newlen > 0xa00000)
|
|
! fatal("buffer_append_space: alloc %u not supported",
|
|
! newlen);
|
|
! buffer->buf = xrealloc(buffer->buf, newlen);
|
|
! buffer->alloc = newlen;
|
|
goto restart;
|
|
}
|
|
|
|
Index: crypto/openssh/channels.c
|
|
===================================================================
|
|
RCS file: /home/ncvs/src/crypto/openssh/channels.c,v
|
|
retrieving revision 1.1.1.1.2.4.4.1
|
|
retrieving revision 1.1.1.1.2.4.4.2
|
|
diff -c -p -c -r1.1.1.1.2.4.4.1 -r1.1.1.1.2.4.4.2
|
|
*** crypto/openssh/channels.c 7 Mar 2002 14:34:17 -0000 1.1.1.1.2.4.4.1
|
|
--- crypto/openssh/channels.c 17 Sep 2003 14:57:32 -0000 1.1.1.1.2.4.4.2
|
|
*************** channel_new(char *ctype, int type, int r
|
|
*** 251,259 ****
|
|
if (found == -1) {
|
|
/* There are no free slots. Take last+1 slot and expand the array. */
|
|
found = channels_alloc;
|
|
channels_alloc += 10;
|
|
debug2("channel: expanding %d", channels_alloc);
|
|
- channels = xrealloc(channels, channels_alloc * sizeof(Channel));
|
|
for (i = found; i < channels_alloc; i++)
|
|
channels[i].type = SSH_CHANNEL_FREE;
|
|
}
|
|
--- 251,263 ----
|
|
if (found == -1) {
|
|
/* There are no free slots. Take last+1 slot and expand the array. */
|
|
found = channels_alloc;
|
|
+ if (channels_alloc > 10000)
|
|
+ fatal("channel_new: internal error: channels_alloc %d "
|
|
+ "too big.", channels_alloc);
|
|
+ channels = xrealloc(channels,
|
|
+ (channels_alloc + 10) * sizeof(Channel));
|
|
channels_alloc += 10;
|
|
debug2("channel: expanding %d", channels_alloc);
|
|
for (i = found; i < channels_alloc; i++)
|
|
channels[i].type = SSH_CHANNEL_FREE;
|
|
}
|
|
Index: crypto/openssh/deattack.c
|
|
===================================================================
|
|
RCS file: /home/ncvs/src/crypto/openssh/deattack.c,v
|
|
retrieving revision 1.1.1.1.2.2
|
|
retrieving revision 1.1.1.1.2.2.4.1
|
|
diff -c -p -c -r1.1.1.1.2.2 -r1.1.1.1.2.2.4.1
|
|
*** crypto/openssh/deattack.c 12 Jan 2001 04:25:56 -0000 1.1.1.1.2.2
|
|
--- crypto/openssh/deattack.c 17 Sep 2003 14:57:33 -0000 1.1.1.1.2.2.4.1
|
|
*************** detect_attack(unsigned char *buf, u_int3
|
|
*** 100,111 ****
|
|
|
|
if (h == NULL) {
|
|
debug("Installing crc compensation attack detector.");
|
|
n = l;
|
|
- h = (u_int16_t *) xmalloc(n * HASH_ENTRYSIZE);
|
|
} else {
|
|
if (l > n) {
|
|
n = l;
|
|
- h = (u_int16_t *) xrealloc(h, n * HASH_ENTRYSIZE);
|
|
}
|
|
}
|
|
|
|
--- 100,111 ----
|
|
|
|
if (h == NULL) {
|
|
debug("Installing crc compensation attack detector.");
|
|
+ h = (u_int16_t *) xmalloc(l * HASH_ENTRYSIZE);
|
|
n = l;
|
|
} else {
|
|
if (l > n) {
|
|
+ h = (u_int16_t *) xrealloc(h, l * HASH_ENTRYSIZE);
|
|
n = l;
|
|
}
|
|
}
|
|
|
|
Index: crypto/openssh/scp.c
|
|
===================================================================
|
|
RCS file: /home/ncvs/src/crypto/openssh/scp.c,v
|
|
retrieving revision 1.1.1.1.2.3
|
|
retrieving revision 1.1.1.1.2.3.4.1
|
|
diff -c -p -c -r1.1.1.1.2.3 -r1.1.1.1.2.3.4.1
|
|
*** crypto/openssh/scp.c 12 Jan 2001 04:25:57 -0000 1.1.1.1.2.3
|
|
--- crypto/openssh/scp.c 17 Sep 2003 14:57:33 -0000 1.1.1.1.2.3.4.1
|
|
*************** addargs(char *fmt, ...)
|
|
*** 1217,1234 ****
|
|
{
|
|
va_list ap;
|
|
char buf[1024];
|
|
|
|
va_start(ap, fmt);
|
|
vsnprintf(buf, sizeof(buf), fmt, ap);
|
|
va_end(ap);
|
|
|
|
if (args.list == NULL) {
|
|
! args.nalloc = 32;
|
|
args.num = 0;
|
|
! args.list = xmalloc(args.nalloc * sizeof(char *));
|
|
} else if (args.num+2 >= args.nalloc) {
|
|
! args.nalloc *= 2;
|
|
! args.list = xrealloc(args.list, args.nalloc * sizeof(char *));
|
|
}
|
|
args.list[args.num++] = xstrdup(buf);
|
|
args.list[args.num] = NULL;
|
|
--- 1217,1237 ----
|
|
{
|
|
va_list ap;
|
|
char buf[1024];
|
|
+ int nalloc;
|
|
|
|
va_start(ap, fmt);
|
|
vsnprintf(buf, sizeof(buf), fmt, ap);
|
|
va_end(ap);
|
|
|
|
if (args.list == NULL) {
|
|
! nalloc = 32;
|
|
args.num = 0;
|
|
! args.list = xmalloc(nalloc * sizeof(char *));
|
|
! args.nalloc = nalloc;
|
|
} else if (args.num+2 >= args.nalloc) {
|
|
! nalloc = args.nalloc * 2;
|
|
! args.list = xrealloc(args.list, nalloc * sizeof(char *));
|
|
! args.nalloc = nalloc;
|
|
}
|
|
args.list[args.num++] = xstrdup(buf);
|
|
args.list[args.num] = NULL;
|
|
Index: crypto/openssh/session.c
|
|
===================================================================
|
|
RCS file: /home/ncvs/src/crypto/openssh/session.c,v
|
|
retrieving revision 1.4.2.8.4.1
|
|
retrieving revision 1.4.2.8.4.2
|
|
diff -c -p -c -r1.4.2.8.4.1 -r1.4.2.8.4.2
|
|
*** crypto/openssh/session.c 3 Dec 2001 00:54:18 -0000 1.4.2.8.4.1
|
|
--- crypto/openssh/session.c 17 Sep 2003 14:57:33 -0000 1.4.2.8.4.2
|
|
*************** void
|
|
*** 848,853 ****
|
|
--- 848,854 ----
|
|
child_set_env(char ***envp, unsigned int *envsizep, const char *name,
|
|
const char *value)
|
|
{
|
|
+ u_int envsize;
|
|
unsigned int i, namelen;
|
|
char **env;
|
|
|
|
*************** child_set_env(char ***envp, unsigned int
|
|
*** 866,874 ****
|
|
xfree(env[i]);
|
|
} else {
|
|
/* New variable. Expand if necessary. */
|
|
! if (i >= (*envsizep) - 1) {
|
|
! (*envsizep) += 50;
|
|
! env = (*envp) = xrealloc(env, (*envsizep) * sizeof(char *));
|
|
}
|
|
/* Need to set the NULL pointer at end of array beyond the new slot. */
|
|
env[i + 1] = NULL;
|
|
--- 867,877 ----
|
|
xfree(env[i]);
|
|
} else {
|
|
/* New variable. Expand if necessary. */
|
|
! envsize = *envsizep;
|
|
! if (i >= envsize - 1) {
|
|
! envsize += 50;
|
|
! env = (*envp) = xrealloc(env, envsize * sizeof(char *));
|
|
! *envsizep = envsize;
|
|
}
|
|
/* Need to set the NULL pointer at end of array beyond the new slot. */
|
|
env[i + 1] = NULL;
|
|
Index: crypto/openssh/ssh-agent.c
|
|
===================================================================
|
|
RCS file: /home/ncvs/src/crypto/openssh/ssh-agent.c,v
|
|
retrieving revision 1.2.2.6
|
|
retrieving revision 1.2.2.6.4.1
|
|
diff -c -p -c -r1.2.2.6 -r1.2.2.6.4.1
|
|
*** crypto/openssh/ssh-agent.c 12 Feb 2001 06:45:42 -0000 1.2.2.6
|
|
--- crypto/openssh/ssh-agent.c 17 Sep 2003 14:57:33 -0000 1.2.2.6.4.1
|
|
*************** process_message(SocketEntry *e)
|
|
*** 515,521 ****
|
|
void
|
|
new_socket(int type, int fd)
|
|
{
|
|
! unsigned int i, old_alloc;
|
|
if (fcntl(fd, F_SETFL, O_NONBLOCK) < 0)
|
|
error("fcntl O_NONBLOCK: %s", strerror(errno));
|
|
|
|
--- 515,521 ----
|
|
void
|
|
new_socket(int type, int fd)
|
|
{
|
|
! unsigned int i, old_alloc, new_alloc;
|
|
if (fcntl(fd, F_SETFL, O_NONBLOCK) < 0)
|
|
error("fcntl O_NONBLOCK: %s", strerror(errno));
|
|
|
|
*************** new_socket(int type, int fd)
|
|
*** 525,547 ****
|
|
for (i = 0; i < sockets_alloc; i++)
|
|
if (sockets[i].type == AUTH_UNUSED) {
|
|
sockets[i].fd = fd;
|
|
- sockets[i].type = type;
|
|
buffer_init(&sockets[i].input);
|
|
buffer_init(&sockets[i].output);
|
|
return;
|
|
}
|
|
old_alloc = sockets_alloc;
|
|
! sockets_alloc += 10;
|
|
if (sockets)
|
|
! sockets = xrealloc(sockets, sockets_alloc * sizeof(sockets[0]));
|
|
else
|
|
! sockets = xmalloc(sockets_alloc * sizeof(sockets[0]));
|
|
! for (i = old_alloc; i < sockets_alloc; i++)
|
|
sockets[i].type = AUTH_UNUSED;
|
|
! sockets[old_alloc].type = type;
|
|
sockets[old_alloc].fd = fd;
|
|
buffer_init(&sockets[old_alloc].input);
|
|
buffer_init(&sockets[old_alloc].output);
|
|
}
|
|
|
|
void
|
|
--- 525,548 ----
|
|
for (i = 0; i < sockets_alloc; i++)
|
|
if (sockets[i].type == AUTH_UNUSED) {
|
|
sockets[i].fd = fd;
|
|
buffer_init(&sockets[i].input);
|
|
buffer_init(&sockets[i].output);
|
|
+ sockets[i].type = type;
|
|
return;
|
|
}
|
|
old_alloc = sockets_alloc;
|
|
! new_alloc = sockets_alloc + 10;
|
|
if (sockets)
|
|
! sockets = xrealloc(sockets, new_alloc * sizeof(sockets[0]));
|
|
else
|
|
! sockets = xmalloc(new_alloc * sizeof(sockets[0]));
|
|
! for (i = old_alloc; i < new_alloc; i++)
|
|
sockets[i].type = AUTH_UNUSED;
|
|
! sockets_alloc = new_alloc;
|
|
sockets[old_alloc].fd = fd;
|
|
buffer_init(&sockets[old_alloc].input);
|
|
buffer_init(&sockets[old_alloc].output);
|
|
+ sockets[old_alloc].type = type;
|
|
}
|
|
|
|
void
|