mirror of git://anongit.mindrot.org/openssh.git
- deraadt@cvs.openbsd.org 2006/03/19 18:56:41
[clientloop.c progressmeter.c serverloop.c sshd.c] ARGSUSED for signal handlers
This commit is contained in:
parent
c91e556d8a
commit
f0b15dfc52
|
@ -43,6 +43,9 @@
|
|||
- deraadt@cvs.openbsd.org 2006/03/19 18:53:12
|
||||
[kex.c kex.h monitor.c myproposal.h session.c]
|
||||
spacing
|
||||
- deraadt@cvs.openbsd.org 2006/03/19 18:56:41
|
||||
[clientloop.c progressmeter.c serverloop.c sshd.c]
|
||||
ARGSUSED for signal handlers
|
||||
|
||||
20060325
|
||||
- OpenBSD CVS Sync
|
||||
|
@ -4300,4 +4303,4 @@
|
|||
- (djm) Trim deprecated options from INSTALL. Mention UsePAM
|
||||
- (djm) Fix quote handling in sftp; Patch from admorten AT umich.edu
|
||||
|
||||
$Id: ChangeLog,v 1.4253 2006/03/26 02:58:55 djm Exp $
|
||||
$Id: ChangeLog,v 1.4254 2006/03/26 02:59:20 djm Exp $
|
||||
|
|
|
@ -190,7 +190,7 @@ enter_non_blocking(void)
|
|||
* Signal handler for the window change signal (SIGWINCH). This just sets a
|
||||
* flag indicating that the window has changed.
|
||||
*/
|
||||
|
||||
/*ARGSUSED */
|
||||
static void
|
||||
window_change_handler(int sig)
|
||||
{
|
||||
|
@ -202,7 +202,7 @@ window_change_handler(int sig)
|
|||
* Signal handler for signals that cause the program to terminate. These
|
||||
* signals must be trapped to restore terminal modes.
|
||||
*/
|
||||
|
||||
/*ARGSUSED */
|
||||
static void
|
||||
signal_handler(int sig)
|
||||
{
|
||||
|
|
|
@ -272,6 +272,7 @@ stop_progress_meter(void)
|
|||
atomicio(vwrite, STDOUT_FILENO, "\n", 1);
|
||||
}
|
||||
|
||||
/*ARGSUSED*/
|
||||
static void
|
||||
sig_winch(int sig)
|
||||
{
|
||||
|
|
|
@ -147,6 +147,7 @@ notify_done(fd_set *readset)
|
|||
debug2("notify_done: reading");
|
||||
}
|
||||
|
||||
/*ARGSUSED*/
|
||||
static void
|
||||
sigchld_handler(int sig)
|
||||
{
|
||||
|
@ -159,6 +160,7 @@ sigchld_handler(int sig)
|
|||
errno = save_errno;
|
||||
}
|
||||
|
||||
/*ARGSUSED*/
|
||||
static void
|
||||
sigterm_handler(int sig)
|
||||
{
|
||||
|
@ -942,7 +944,7 @@ server_request_tun(void)
|
|||
|
||||
tun = packet_get_int();
|
||||
if (forced_tun_device != -1) {
|
||||
if (tun != SSH_TUNID_ANY && forced_tun_device != tun)
|
||||
if (tun != SSH_TUNID_ANY && forced_tun_device != tun)
|
||||
goto done;
|
||||
tun = forced_tun_device;
|
||||
}
|
||||
|
|
57
sshd.c
57
sshd.c
|
@ -257,6 +257,8 @@ close_startup_pipes(void)
|
|||
* the effect is to reread the configuration file (and to regenerate
|
||||
* the server key).
|
||||
*/
|
||||
|
||||
/*ARGSUSED*/
|
||||
static void
|
||||
sighup_handler(int sig)
|
||||
{
|
||||
|
@ -271,6 +273,7 @@ sighup_handler(int sig)
|
|||
* Called from the main program after receiving SIGHUP.
|
||||
* Restarts the server.
|
||||
*/
|
||||
/*ARGSUSED*/
|
||||
static void
|
||||
sighup_restart(void)
|
||||
{
|
||||
|
@ -286,6 +289,7 @@ sighup_restart(void)
|
|||
/*
|
||||
* Generic signal handler for terminating signals in the master daemon.
|
||||
*/
|
||||
/*ARGSUSED*/
|
||||
static void
|
||||
sigterm_handler(int sig)
|
||||
{
|
||||
|
@ -296,6 +300,7 @@ sigterm_handler(int sig)
|
|||
* SIGCHLD handler. This is called whenever a child dies. This will then
|
||||
* reap any zombies left by exited children.
|
||||
*/
|
||||
/*ARGSUSED*/
|
||||
static void
|
||||
main_sigchld_handler(int sig)
|
||||
{
|
||||
|
@ -314,6 +319,7 @@ main_sigchld_handler(int sig)
|
|||
/*
|
||||
* Signal handler for the alarm after the login grace period has expired.
|
||||
*/
|
||||
/*ARGSUSED*/
|
||||
static void
|
||||
grace_alarm_handler(int sig)
|
||||
{
|
||||
|
@ -356,6 +362,7 @@ generate_ephemeral_server_key(void)
|
|||
arc4random_stir();
|
||||
}
|
||||
|
||||
/*ARGSUSED*/
|
||||
static void
|
||||
key_regeneration_alarm(int sig)
|
||||
{
|
||||
|
@ -976,7 +983,8 @@ main(int ac, char **av)
|
|||
options.log_level = SYSLOG_LEVEL_QUIET;
|
||||
break;
|
||||
case 'b':
|
||||
options.server_key_bits = atoi(optarg);
|
||||
options.server_key_bits = (int)strtonum(optarg, 256,
|
||||
32768, NULL);
|
||||
break;
|
||||
case 'p':
|
||||
options.ports_from_cmdline = 1;
|
||||
|
@ -1013,7 +1021,7 @@ main(int ac, char **av)
|
|||
test_flag = 1;
|
||||
break;
|
||||
case 'u':
|
||||
utmp_len = atoi(optarg);
|
||||
utmp_len = (u_int)strtonum(optarg, 0, MAXHOSTNAMELEN+1, NULL);
|
||||
if (utmp_len > MAXHOSTNAMELEN) {
|
||||
fprintf(stderr, "Invalid utmp length.\n");
|
||||
exit(1);
|
||||
|
@ -1169,10 +1177,9 @@ main(int ac, char **av)
|
|||
}
|
||||
|
||||
if (use_privsep) {
|
||||
struct passwd *pw;
|
||||
struct stat st;
|
||||
|
||||
if ((pw = getpwnam(SSH_PRIVSEP_USER)) == NULL)
|
||||
if (getpwnam(SSH_PRIVSEP_USER) == NULL)
|
||||
fatal("Privilege separation user %s does not exist",
|
||||
SSH_PRIVSEP_USER);
|
||||
if ((stat(_PATH_PRIVSEP_CHROOT_DIR, &st) == -1) ||
|
||||
|
@ -1444,8 +1451,8 @@ main(int ac, char **av)
|
|||
if (!FD_ISSET(listen_socks[i], fdset))
|
||||
continue;
|
||||
fromlen = sizeof(from);
|
||||
newsock = accept(listen_socks[i], (struct sockaddr *)&from,
|
||||
&fromlen);
|
||||
newsock = accept(listen_socks[i],
|
||||
(struct sockaddr *)&from, &fromlen);
|
||||
if (newsock < 0) {
|
||||
if (errno != EINTR && errno != EWOULDBLOCK)
|
||||
error("accept: %.100s", strerror(errno));
|
||||
|
@ -1516,10 +1523,11 @@ main(int ac, char **av)
|
|||
*/
|
||||
if ((pid = fork()) == 0) {
|
||||
/*
|
||||
* Child. Close the listening and max_startup
|
||||
* sockets. Start using the accepted socket.
|
||||
* Reinitialize logging (since our pid has
|
||||
* changed). We break out of the loop to handle
|
||||
* Child. Close the listening and
|
||||
* max_startup sockets. Start using
|
||||
* the accepted socket. Reinitialize
|
||||
* logging (since our pid has changed).
|
||||
* We break out of the loop to handle
|
||||
* the connection.
|
||||
*/
|
||||
startup_pipe = startup_p[1];
|
||||
|
@ -1527,7 +1535,10 @@ main(int ac, char **av)
|
|||
close_listen_socks();
|
||||
sock_in = newsock;
|
||||
sock_out = newsock;
|
||||
log_init(__progname, options.log_level, options.log_facility, log_stderr);
|
||||
log_init(__progname,
|
||||
options.log_level,
|
||||
options.log_facility,
|
||||
log_stderr);
|
||||
if (rexec_flag)
|
||||
close(config_s[0]);
|
||||
break;
|
||||
|
@ -1548,7 +1559,10 @@ main(int ac, char **av)
|
|||
close(config_s[1]);
|
||||
}
|
||||
|
||||
/* Mark that the key has been used (it was "given" to the child). */
|
||||
/*
|
||||
* Mark that the key has been used (it
|
||||
* was "given" to the child).
|
||||
*/
|
||||
if ((options.protocol & SSH_PROTO_1) &&
|
||||
key_used == 0) {
|
||||
/* Schedule server key regeneration alarm. */
|
||||
|
@ -1558,8 +1572,6 @@ main(int ac, char **av)
|
|||
}
|
||||
|
||||
arc4random_stir();
|
||||
|
||||
/* Close the new socket (the child is now taking care of it). */
|
||||
close(newsock);
|
||||
}
|
||||
/* child process check (or debug mode) */
|
||||
|
@ -1794,11 +1806,14 @@ ssh1_session_key(BIGNUM *session_key_int)
|
|||
{
|
||||
int rsafail = 0;
|
||||
|
||||
if (BN_cmp(sensitive_data.server_key->rsa->n, sensitive_data.ssh1_host_key->rsa->n) > 0) {
|
||||
if (BN_cmp(sensitive_data.server_key->rsa->n,
|
||||
sensitive_data.ssh1_host_key->rsa->n) > 0) {
|
||||
/* Server key has bigger modulus. */
|
||||
if (BN_num_bits(sensitive_data.server_key->rsa->n) <
|
||||
BN_num_bits(sensitive_data.ssh1_host_key->rsa->n) + SSH_KEY_BITS_RESERVED) {
|
||||
fatal("do_connection: %s: server_key %d < host_key %d + SSH_KEY_BITS_RESERVED %d",
|
||||
BN_num_bits(sensitive_data.ssh1_host_key->rsa->n) +
|
||||
SSH_KEY_BITS_RESERVED) {
|
||||
fatal("do_connection: %s: "
|
||||
"server_key %d < host_key %d + SSH_KEY_BITS_RESERVED %d",
|
||||
get_remote_ipaddr(),
|
||||
BN_num_bits(sensitive_data.server_key->rsa->n),
|
||||
BN_num_bits(sensitive_data.ssh1_host_key->rsa->n),
|
||||
|
@ -1813,8 +1828,10 @@ ssh1_session_key(BIGNUM *session_key_int)
|
|||
} else {
|
||||
/* Host key has bigger modulus (or they are equal). */
|
||||
if (BN_num_bits(sensitive_data.ssh1_host_key->rsa->n) <
|
||||
BN_num_bits(sensitive_data.server_key->rsa->n) + SSH_KEY_BITS_RESERVED) {
|
||||
fatal("do_connection: %s: host_key %d < server_key %d + SSH_KEY_BITS_RESERVED %d",
|
||||
BN_num_bits(sensitive_data.server_key->rsa->n) +
|
||||
SSH_KEY_BITS_RESERVED) {
|
||||
fatal("do_connection: %s: "
|
||||
"host_key %d < server_key %d + SSH_KEY_BITS_RESERVED %d",
|
||||
get_remote_ipaddr(),
|
||||
BN_num_bits(sensitive_data.ssh1_host_key->rsa->n),
|
||||
BN_num_bits(sensitive_data.server_key->rsa->n),
|
||||
|
@ -2035,7 +2052,7 @@ do_ssh2_kex(void)
|
|||
myproposal[PROPOSAL_COMP_ALGS_CTOS] =
|
||||
myproposal[PROPOSAL_COMP_ALGS_STOC] = "none,zlib@openssh.com";
|
||||
}
|
||||
|
||||
|
||||
myproposal[PROPOSAL_SERVER_HOST_KEY_ALGS] = list_hostkey_types();
|
||||
|
||||
/* start key exchange */
|
||||
|
|
Loading…
Reference in New Issue