summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatt Johnston <matt@ucc.asn.au>2016-03-16 22:53:27 +0800
committerMatt Johnston <matt@ucc.asn.au>2016-03-16 22:53:27 +0800
commitc4e3501a019d93502419c7ae4d323dacd6bbf1d4 (patch)
treef5526714c6376c3f631a0e37daf5a91b3e081952
parent55c836a149ef6b60e349ce95dfb726e97a2e0cc9 (diff)
parenta30bea761d26682bdf2e94842e00cdf22a7f7e01 (diff)
downloaddropbear-c4e3501a019d93502419c7ae4d323dacd6bbf1d4.tar.gz
merge
-rw-r--r--atomicio.c1
-rw-r--r--auth.h60
-rw-r--r--channel.h28
-rw-r--r--chansession.h10
-rw-r--r--cli-chansession.c7
-rw-r--r--cli-runopts.c5
-rw-r--r--cli-session.c6
-rw-r--r--cli-tcpfwd.c2
-rw-r--r--common-algo.c6
-rw-r--r--common-kex.c10
-rw-r--r--common-session.c6
-rw-r--r--compat.h6
-rw-r--r--crypto_desc.h2
-rw-r--r--dbrandom.c2
-rw-r--r--dbrandom.h2
-rw-r--r--dbutil.h6
-rw-r--r--ecc.h2
-rw-r--r--kex.h26
-rw-r--r--list.h2
-rw-r--r--listener.h2
-rw-r--r--ltc_prng.c16
-rw-r--r--netio.h2
-rw-r--r--packet.c4
-rw-r--r--packet.h14
-rw-r--r--process-packet.c2
-rw-r--r--rsa.h2
-rw-r--r--runopts.h6
-rw-r--r--scp.c12
-rw-r--r--service.h2
-rw-r--r--session.h20
-rw-r--r--signkey.c2
-rw-r--r--signkey.h2
-rw-r--r--svr-auth.c2
-rw-r--r--svr-authpubkey.c2
-rw-r--r--svr-main.c14
-rw-r--r--svr-session.c2
-rw-r--r--svr-tcpfwd.c4
-rw-r--r--tcpfwd.h10
38 files changed, 155 insertions, 154 deletions
diff --git a/atomicio.c b/atomicio.c
index 1915a7b..a061cbd 100644
--- a/atomicio.c
+++ b/atomicio.c
@@ -53,6 +53,7 @@ atomicio(f, fd, _s, n)
if (errno == EINTR || errno == EAGAIN)
#endif
continue;
+ /* FALLTHROUGH */
case 0:
return (res);
default:
diff --git a/auth.h b/auth.h
index 250a7f7..b772f18 100644
--- a/auth.h
+++ b/auth.h
@@ -29,25 +29,25 @@
#include "signkey.h"
#include "chansession.h"
-void svr_authinitialise();
-void cli_authinitialise();
+void svr_authinitialise(void);
+void cli_authinitialise(void);
/* Server functions */
-void recv_msg_userauth_request();
+void recv_msg_userauth_request(void);
void send_msg_userauth_failure(int partial, int incrfail);
-void send_msg_userauth_success();
+void send_msg_userauth_success(void);
void send_msg_userauth_banner(buffer *msg);
-void svr_auth_password();
-void svr_auth_pubkey();
-void svr_auth_pam();
+void svr_auth_password(void);
+void svr_auth_pubkey(void);
+void svr_auth_pam(void);
#ifdef ENABLE_SVR_PUBKEY_OPTIONS
-int svr_pubkey_allows_agentfwd();
-int svr_pubkey_allows_tcpfwd();
-int svr_pubkey_allows_x11fwd();
-int svr_pubkey_allows_pty();
+int svr_pubkey_allows_agentfwd(void);
+int svr_pubkey_allows_tcpfwd(void);
+int svr_pubkey_allows_x11fwd(void);
+int svr_pubkey_allows_pty(void);
void svr_pubkey_set_forced_command(struct ChanSess *chansess);
-void svr_pubkey_options_cleanup();
+void svr_pubkey_options_cleanup(void);
int svr_add_pubkey_options(buffer *options_buf, int line_num, const char* filename);
#else
/* no option : success */
@@ -56,34 +56,34 @@ int svr_add_pubkey_options(buffer *options_buf, int line_num, const char* filena
#define svr_pubkey_allows_x11fwd() 1
#define svr_pubkey_allows_pty() 1
static inline void svr_pubkey_set_forced_command(struct ChanSess *chansess) { }
-static inline void svr_pubkey_options_cleanup() { }
+static inline void svr_pubkey_options_cleanup(void) { }
#define svr_add_pubkey_options(x,y,z) DROPBEAR_SUCCESS
#endif
/* Client functions */
-void recv_msg_userauth_failure();
-void recv_msg_userauth_success();
-void recv_msg_userauth_specific_60();
-void recv_msg_userauth_pk_ok();
-void recv_msg_userauth_info_request();
-void cli_get_user();
-void cli_auth_getmethods();
-int cli_auth_try();
-void recv_msg_userauth_banner();
-void cli_pubkeyfail();
-void cli_auth_password();
-int cli_auth_pubkey();
-void cli_auth_interactive();
+void recv_msg_userauth_failure(void);
+void recv_msg_userauth_success(void);
+void recv_msg_userauth_specific_60(void);
+void recv_msg_userauth_pk_ok(void);
+void recv_msg_userauth_info_request(void);
+void cli_get_user(void);
+void cli_auth_getmethods(void);
+int cli_auth_try(void);
+void recv_msg_userauth_banner(void);
+void cli_pubkeyfail(void);
+void cli_auth_password(void);
+int cli_auth_pubkey(void);
+void cli_auth_interactive(void);
char* getpass_or_cancel(char* prompt);
-void cli_auth_pubkey_cleanup();
+void cli_auth_pubkey_cleanup(void);
#define MAX_USERNAME_LEN 25 /* arbitrary for the moment */
#define AUTH_TYPE_NONE 1
-#define AUTH_TYPE_PUBKEY 1 << 1
-#define AUTH_TYPE_PASSWORD 1 << 2
-#define AUTH_TYPE_INTERACT 1 << 3
+#define AUTH_TYPE_PUBKEY (1 << 1)
+#define AUTH_TYPE_PASSWORD (1 << 2)
+#define AUTH_TYPE_INTERACT (1 << 3)
#define AUTH_METHOD_NONE "none"
#define AUTH_METHOD_NONE_LEN 4
diff --git a/channel.h b/channel.h
index c73fbe8..efac157 100644
--- a/channel.h
+++ b/channel.h
@@ -105,23 +105,23 @@ struct ChanType {
void channel_connect_done(int result, int sock, void* user_data, const char* errstring);
void chaninitialise(const struct ChanType *chantypes[]);
-void chancleanup();
+void chancleanup(void);
void setchannelfds(fd_set *readfds, fd_set *writefds, int allow_reads);
void channelio(fd_set *readfd, fd_set *writefd);
-struct Channel* getchannel();
+struct Channel* getchannel(void);
/* Returns an arbitrary channel that is in a ready state - not
being initialised and no EOF in either direction. NULL if none. */
-struct Channel* get_any_ready_channel();
+struct Channel* get_any_ready_channel(void);
-void recv_msg_channel_open();
-void recv_msg_channel_request();
+void recv_msg_channel_open(void);
+void recv_msg_channel_request(void);
void send_msg_channel_failure(struct Channel *channel);
void send_msg_channel_success(struct Channel *channel);
-void recv_msg_channel_data();
-void recv_msg_channel_extended_data();
-void recv_msg_channel_window_adjust();
-void recv_msg_channel_close();
-void recv_msg_channel_eof();
+void recv_msg_channel_data(void);
+void recv_msg_channel_extended_data(void);
+void recv_msg_channel_window_adjust(void);
+void recv_msg_channel_close(void);
+void recv_msg_channel_eof(void);
void common_recv_msg_channel_data(struct Channel *channel, int fd,
circbuffer * buf);
@@ -132,13 +132,13 @@ extern const struct ChanType clichansess;
#if defined(USING_LISTENERS) || defined(DROPBEAR_CLIENT)
int send_msg_channel_open_init(int fd, const struct ChanType *type);
-void recv_msg_channel_open_confirmation();
-void recv_msg_channel_open_failure();
+void recv_msg_channel_open_confirmation(void);
+void recv_msg_channel_open_failure(void);
#endif
void start_send_channel_request(struct Channel *channel, char *type);
-void send_msg_request_success();
-void send_msg_request_failure();
+void send_msg_request_success(void);
+void send_msg_request_failure(void);
#endif /* DROPBEAR_CHANNEL_H_ */
diff --git a/chansession.h b/chansession.h
index 6eb8c76..3b39fdc 100644
--- a/chansession.h
+++ b/chansession.h
@@ -86,14 +86,14 @@ struct ChildPid {
void addnewvar(const char* param, const char* var);
-void cli_send_chansess_request();
-void cli_tty_cleanup();
-void cli_chansess_winchange();
+void cli_send_chansess_request(void);
+void cli_tty_cleanup(void);
+void cli_chansess_winchange(void);
#ifdef ENABLE_CLI_NETCAT
-void cli_send_netcat_request();
+void cli_send_netcat_request(void);
#endif
-void svr_chansessinitialise();
+void svr_chansessinitialise(void);
extern const struct ChanType svrchansess;
struct SigMap {
diff --git a/cli-chansession.c b/cli-chansession.c
index 5e00149..0f92e8a 100644
--- a/cli-chansession.c
+++ b/cli-chansession.c
@@ -43,7 +43,7 @@ static void send_chansess_shell_req(struct Channel *channel);
static void cli_escape_handler(struct Channel *channel, unsigned char* buf, int *len);
static int cli_init_netcat(struct Channel *channel);
-static void cli_tty_setup();
+static void cli_tty_setup(void);
const struct ChanType clichansess = {
0, /* sepfds */
@@ -438,7 +438,6 @@ do_escape(unsigned char c) {
case '.':
dropbear_exit("Terminated");
return 1;
- break;
case 0x1a:
/* ctrl-z */
cli_tty_cleanup();
@@ -447,9 +446,9 @@ do_escape(unsigned char c) {
cli_tty_setup();
cli_ses.winchange = 1;
return 1;
- break;
+ default:
+ return 0;
}
- return 0;
}
static
diff --git a/cli-runopts.c b/cli-runopts.c
index 8d1edee..24169c9 100644
--- a/cli-runopts.c
+++ b/cli-runopts.c
@@ -33,10 +33,10 @@
cli_runopts cli_opts; /* GLOBAL */
-static void printhelp();
+static void printhelp(void);
static void parse_hostname(const char* orighostarg);
static void parse_multihop_hostname(const char* orighostarg, const char* argv0);
-static void fill_own_user();
+static void fill_own_user(void);
#ifdef ENABLE_CLI_PUBKEY_AUTH
static void loadidentityfile(const char* filename, int warnfail);
#endif
@@ -315,6 +315,7 @@ void cli_getopts(int argc, char ** argv) {
break;
case 'b':
next = &dummy;
+ /* FALLTHROUGH */
default:
fprintf(stderr,
"WARNING: Ignoring unknown option -%c\n", c);
diff --git a/cli-session.c b/cli-session.c
index 31c9f02..15a2188 100644
--- a/cli-session.c
+++ b/cli-session.c
@@ -39,10 +39,10 @@
#include "crypto_desc.h"
#include "netio.h"
-static void cli_remoteclosed() ATTRIB_NORETURN;
-static void cli_sessionloop();
+static void cli_remoteclosed(void) ATTRIB_NORETURN;
+static void cli_sessionloop(void);
static void cli_session_init(pid_t proxy_cmd_pid);
-static void cli_finished() ATTRIB_NORETURN;
+static void cli_finished(void) ATTRIB_NORETURN;
static void recv_msg_service_accept(void);
static void cli_session_cleanup(void);
static void recv_msg_global_request_cli(void);
diff --git a/cli-tcpfwd.c b/cli-tcpfwd.c
index c3a1350..03b4b92 100644
--- a/cli-tcpfwd.c
+++ b/cli-tcpfwd.c
@@ -62,7 +62,7 @@ static const struct ChanType cli_chan_tcplocal = {
#ifdef ENABLE_CLI_ANYTCPFWD
static void fwd_failed(const char* format, ...) ATTRIB_PRINTF(1,2);
-void fwd_failed(const char* format, ...)
+static void fwd_failed(const char* format, ...)
{
va_list param;
va_start(param, format);
diff --git a/common-algo.c b/common-algo.c
index c2cef77..10d60c9 100644
--- a/common-algo.c
+++ b/common-algo.c
@@ -265,13 +265,13 @@ static const struct dropbear_kex kex_dh_group16_sha512 = {DROPBEAR_KEX_NORMAL_DH
ecc_curve at runtime */
#ifdef DROPBEAR_ECDH
#ifdef DROPBEAR_ECC_256
-static struct dropbear_kex kex_ecdh_nistp256 = {DROPBEAR_KEX_ECDH, NULL, 0, &ecc_curve_nistp256, &sha256_desc };
+static const struct dropbear_kex kex_ecdh_nistp256 = {DROPBEAR_KEX_ECDH, NULL, 0, &ecc_curve_nistp256, &sha256_desc };
#endif
#ifdef DROPBEAR_ECC_384
-static struct dropbear_kex kex_ecdh_nistp384 = {DROPBEAR_KEX_ECDH, NULL, 0, &ecc_curve_nistp384, &sha384_desc };
+static const struct dropbear_kex kex_ecdh_nistp384 = {DROPBEAR_KEX_ECDH, NULL, 0, &ecc_curve_nistp384, &sha384_desc };
#endif
#ifdef DROPBEAR_ECC_521
-static struct dropbear_kex kex_ecdh_nistp521 = {DROPBEAR_KEX_ECDH, NULL, 0, &ecc_curve_nistp521, &sha512_desc };
+static const struct dropbear_kex kex_ecdh_nistp521 = {DROPBEAR_KEX_ECDH, NULL, 0, &ecc_curve_nistp521, &sha512_desc };
#endif
#endif /* DROPBEAR_ECDH */
diff --git a/common-kex.c b/common-kex.c
index c7004e6..5003d2f 100644
--- a/common-kex.c
+++ b/common-kex.c
@@ -38,13 +38,13 @@
#include "ecc.h"
#include "crypto_desc.h"
-static void kexinitialise();
-static void gen_new_keys();
+static void kexinitialise(void);
+static void gen_new_keys(void);
#ifndef DISABLE_ZLIB
-static void gen_new_zstream_recv();
-static void gen_new_zstream_trans();
+static void gen_new_zstream_recv(void);
+static void gen_new_zstream_trans(void);
#endif
-static void read_kex_algos();
+static void read_kex_algos(void);
/* helper function for gen_new_keys */
static void hashkeys(unsigned char *out, unsigned int outlen,
const hash_state * hs, const unsigned char X);
diff --git a/common-session.c b/common-session.c
index 874d539..20b6ba3 100644
--- a/common-session.c
+++ b/common-session.c
@@ -36,10 +36,10 @@
#include "runopts.h"
#include "netio.h"
-static void checktimeouts();
-static long select_timeout();
+static void checktimeouts(void);
+static long select_timeout(void);
static int ident_readln(int fd, char* buf, int count);
-static void read_session_identification();
+static void read_session_identification(void);
struct sshsession ses; /* GLOBAL */
diff --git a/compat.h b/compat.h
index 4bd1a12..58fd58e 100644
--- a/compat.h
+++ b/compat.h
@@ -44,9 +44,9 @@ char *basename(const char* path);
#endif
#ifndef HAVE_GETUSERSHELL
-char *getusershell();
-void setusershell();
-void endusershell();
+char *getusershell(void);
+void setusershell(void);
+void endusershell(void);
#endif
#ifndef DROPBEAR_PATH_DEVNULL
diff --git a/crypto_desc.h b/crypto_desc.h
index 54da734..08a75d9 100644
--- a/crypto_desc.h
+++ b/crypto_desc.h
@@ -1,7 +1,7 @@
#ifndef DROPBEAR_CRYPTO_DESC_H
#define DROPBEAR_CRYPTO_DESC_H
-void crypto_init();
+void crypto_init(void);
extern int dropbear_ltc_prng;
diff --git a/dbrandom.c b/dbrandom.c
index 02e7803..239b044 100644
--- a/dbrandom.c
+++ b/dbrandom.c
@@ -32,7 +32,7 @@
/* this is used to generate unique output from the same hashpool */
static uint32_t counter = 0;
/* the max value for the counter, so it won't integer overflow */
-#define MAX_COUNTER 1<<30
+#define MAX_COUNTER (1<<30)
static unsigned char hashpool[SHA1_HASH_SIZE] = {0};
static int donerandinit = 0;
diff --git a/dbrandom.h b/dbrandom.h
index 6e262f3..6bfb866 100644
--- a/dbrandom.h
+++ b/dbrandom.h
@@ -27,7 +27,7 @@
#include "includes.h"
-void seedrandom();
+void seedrandom(void);
void genrandom(unsigned char* buf, unsigned int len);
void addrandom(unsigned char * buf, unsigned int len);
void gen_random_mpint(mp_int *max, mp_int *rand);
diff --git a/dbutil.h b/dbutil.h
index 098563d..bc7dfa2 100644
--- a/dbutil.h
+++ b/dbutil.h
@@ -59,7 +59,7 @@ void dropbear_trace(const char* format, ...) ATTRIB_PRINTF(1,2);
void dropbear_trace2(const char* format, ...) ATTRIB_PRINTF(1,2);
void printhex(const char * label, const unsigned char * buf, int len);
void printmpint(const char *label, mp_int *mp);
-void debug_start_net();
+void debug_start_net(void);
extern int debug_trace;
#endif
@@ -81,7 +81,7 @@ void * m_realloc(void* ptr, size_t size);
#define m_free(X) do {free(X); (X) = NULL;} while (0)
void m_burn(void* data, unsigned int len);
void setnonblocking(int fd);
-void disallow_core();
+void disallow_core(void);
int m_str_to_uint(const char* str, unsigned int *val);
/* Used to force mp_ints to be initialised */
@@ -95,7 +95,7 @@ int constant_time_memcmp(const void* a, const void *b, size_t n);
/* Returns a time in seconds that doesn't go backwards - does not correspond to
a real-world clock */
-time_t monotonic_now();
+time_t monotonic_now(void);
char * expand_homedir_path(const char *inpath);
diff --git a/ecc.h b/ecc.h
index 93f85cf..291cee0 100644
--- a/ecc.h
+++ b/ecc.h
@@ -20,7 +20,7 @@ extern struct dropbear_ecc_curve ecc_curve_nistp384;
extern struct dropbear_ecc_curve ecc_curve_nistp521;
extern struct dropbear_ecc_curve *dropbear_ecc_curves[];
-void dropbear_ecc_fill_dp();
+void dropbear_ecc_fill_dp(void);
struct dropbear_ecc_curve* curve_for_dp(const ltc_ecc_set_type *dp);
/* "pubkey" refers to a point, but LTC uses ecc_key structure for both public
diff --git a/kex.h b/kex.h
index 126c19e..ece995d 100644
--- a/kex.h
+++ b/kex.h
@@ -29,40 +29,40 @@
#include "algo.h"
#include "signkey.h"
-void send_msg_kexinit();
-void recv_msg_kexinit();
-void send_msg_newkeys();
-void recv_msg_newkeys();
-void kexfirstinitialise();
+void send_msg_kexinit(void);
+void recv_msg_kexinit(void);
+void send_msg_newkeys(void);
+void recv_msg_newkeys(void);
+void kexfirstinitialise(void);
-struct kex_dh_param *gen_kexdh_param();
+struct kex_dh_param *gen_kexdh_param(void);
void free_kexdh_param(struct kex_dh_param *param);
void kexdh_comb_key(struct kex_dh_param *param, mp_int *dh_pub_them,
sign_key *hostkey);
#ifdef DROPBEAR_ECDH
-struct kex_ecdh_param *gen_kexecdh_param();
+struct kex_ecdh_param *gen_kexecdh_param(void);
void free_kexecdh_param(struct kex_ecdh_param *param);
void kexecdh_comb_key(struct kex_ecdh_param *param, buffer *pub_them,
sign_key *hostkey);
#endif
#ifdef DROPBEAR_CURVE25519
-struct kex_curve25519_param *gen_kexcurve25519_param();
+struct kex_curve25519_param *gen_kexcurve25519_param(void);
void free_kexcurve25519_param(struct kex_curve25519_param *param);
void kexcurve25519_comb_key(struct kex_curve25519_param *param, buffer *pub_them,
sign_key *hostkey);
#endif
#ifndef DISABLE_ZLIB
-int is_compress_trans();
-int is_compress_recv();
+int is_compress_trans(void);
+int is_compress_recv(void);
#endif
-void recv_msg_kexdh_init(); /* server */
+void recv_msg_kexdh_init(void); /* server */
-void send_msg_kexdh_init(); /* client */
-void recv_msg_kexdh_reply(); /* client */
+void send_msg_kexdh_init(void); /* client */
+void recv_msg_kexdh_reply(void); /* client */
struct KEXState {
diff --git a/list.h b/list.h
index b26a212..2b5cc07 100644
--- a/list.h
+++ b/list.h
@@ -19,7 +19,7 @@ struct _m_list {
typedef struct _m_list m_list;
-m_list * list_new();
+m_list * list_new(void);
void list_append(m_list *list, void *item);
/* returns the item for the element removed */
void * list_remove(m_list_elem *elem);
diff --git a/listener.h b/listener.h
index b531ed6..15eb331 100644
--- a/listener.h
+++ b/listener.h
@@ -46,7 +46,7 @@ struct Listener {
};
-void listeners_initialise();
+void listeners_initialise(void);
void handle_listeners(fd_set * readfds);
void set_listener_fds(fd_set * readfds);
diff --git a/ltc_prng.c b/ltc_prng.c
index af73dac..aa68cce 100644
--- a/ltc_prng.c
+++ b/ltc_prng.c
@@ -123,14 +123,14 @@ int dropbear_prng_test(void)
const struct ltc_prng_descriptor dropbear_prng_desc =
{
"dropbear_prng", 0,
- &dropbear_prng_start,
- &dropbear_prng_add_entropy,
- &dropbear_prng_ready,
- &dropbear_prng_read,
- &dropbear_prng_done,
- &dropbear_prng_export,
- &dropbear_prng_import,
- &dropbear_prng_test
+ dropbear_prng_start,
+ dropbear_prng_add_entropy,
+ dropbear_prng_ready,
+ dropbear_prng_read,
+ dropbear_prng_done,
+ dropbear_prng_export,
+ dropbear_prng_import,
+ dropbear_prng_test
};
diff --git a/netio.h b/netio.h
index b413bdc..f6a1095 100644
--- a/netio.h
+++ b/netio.h
@@ -36,7 +36,7 @@ void set_connect_fds(fd_set *writefd);
/* Handles ready sockets after select() */
void handle_connect_fds(fd_set *writefd);
/* Cleanup */
-void remove_connect_pending();
+void remove_connect_pending(void);
/* Doesn't actually stop the connect, but adds a dummy callback instead */
void cancel_connect(struct dropbear_progress_connection *c);
diff --git a/packet.c b/packet.c
index f827ab8..924554d 100644
--- a/packet.c
+++ b/packet.c
@@ -36,11 +36,11 @@
#include "channel.h"
#include "netio.h"
-static int read_packet_init();
+static int read_packet_init(void);
static void make_mac(unsigned int seqno, const struct key_context_directional * key_state,
buffer * clear_buf, unsigned int clear_len,
unsigned char *output_mac);
-static int checkmac();
+static int checkmac(void);
/* For exact details see http://www.zlib.net/zlib_tech.html
* 5 bytes per 16kB block, plus 6 bytes for the stream.
diff --git a/packet.h b/packet.h
index 6013b72..0942914 100644
--- a/packet.h
+++ b/packet.h
@@ -30,19 +30,19 @@
#include "queue.h"
#include "buffer.h"
-void write_packet();
-void read_packet();
-void decrypt_packet();
-void encrypt_packet();
+void write_packet(void);
+void read_packet(void);
+void decrypt_packet(void);
+void encrypt_packet(void);
void writebuf_enqueue(buffer * writebuf, unsigned char packet_type);
-void process_packet();
+void process_packet(void);
-void maybe_flush_reply_queue();
+void maybe_flush_reply_queue(void);
typedef struct PacketType {
unsigned char type; /* SSH_MSG_FOO */
- void (*handler)();
+ void (*handler)(void);
} packettype;
#define PACKET_PADDING_OFF 4
diff --git a/process-packet.c b/process-packet.c
index ddeb9ce..4953cf2 100644
--- a/process-packet.c
+++ b/process-packet.c
@@ -37,7 +37,7 @@
#define MAX_UNAUTH_PACKET_TYPE SSH_MSG_USERAUTH_PK_OK
-static void recv_unimplemented();
+static void recv_unimplemented(void);
/* process a decrypted packet, call the appropriate handler */
void process_packet() {
diff --git a/rsa.h b/rsa.h
index 800be59..94bde5c 100644
--- a/rsa.h
+++ b/rsa.h
@@ -30,7 +30,7 @@
#ifdef DROPBEAR_RSA
-#define RSA_SIGNATURE_SIZE 4+7+4+40
+#define RSA_SIGNATURE_SIZE (4+7+4+40)
typedef struct {
diff --git a/runopts.h b/runopts.h
index 613ccf1..f7c869d 100644
--- a/runopts.h
+++ b/runopts.h
@@ -64,7 +64,7 @@ extern runopts opts;
int readhostkey(const char * filename, sign_key * hostkey,
enum signkey_type *type);
-void load_all_hostkeys();
+void load_all_hostkeys(void);
typedef struct svr_runopts {
@@ -119,7 +119,7 @@ typedef struct svr_runopts {
extern svr_runopts svr_opts;
void svr_getopts(int argc, char ** argv);
-void loadhostkeys();
+void loadhostkeys(void);
typedef struct cli_runopts {
@@ -170,7 +170,7 @@ extern cli_runopts cli_opts;
void cli_getopts(int argc, char ** argv);
#ifdef ENABLE_USER_ALGO_LIST
-void parse_ciphers_macs();
+void parse_ciphers_macs(void);
#endif
void print_version(void);
diff --git a/scp.c b/scp.c
index 73262fa..5690330 100644
--- a/scp.c
+++ b/scp.c
@@ -672,7 +672,7 @@ next: if (fd != -1) {
}
continue;
}
-#if PROGRESS_METER
+#ifdef PROGRESS_METER
if (showprogress)
start_progress_meter(curfile, stb.st_size, &statbytes);
#endif
@@ -772,7 +772,7 @@ void
bwlimit(int amount)
{
static struct timeval bwstart, bwend;
- static int lamt, thresh = 16384;
+ static int lamt = 0, thresh = 16384;
uint64_t waitlen;
struct timespec ts, rm;
@@ -841,7 +841,7 @@ sink(int argc, char **argv)
#define atime tv[0]
#define mtime tv[1]
-#define SCREWUP(str) { why = str; goto screwup; }
+#define SCREWUP(str) do { why = str; goto screwup; } while (0)
setimes = targisdir = 0;
mask = umask(0);
@@ -940,8 +940,8 @@ sink(int argc, char **argv)
exit(1);
}
if (targisdir) {
- static char *namebuf;
- static size_t cursize;
+ static char *namebuf = NULL;
+ static size_t cursize = 0;
size_t need;
need = strlen(targ) + strlen(cp) + 250;
@@ -1153,7 +1153,7 @@ usage(void)
void
run_err(const char *fmt,...)
{
- static FILE *fp;
+ static FILE *fp = NULL;
va_list ap;
++errs;
diff --git a/service.h b/service.h
index de35724..eaa7ff6 100644
--- a/service.h
+++ b/service.h
@@ -25,6 +25,6 @@
#ifndef DROPBEAR_SERVICE_H_
#define DROPBEAR_SERVICE_H_
-void recv_msg_service_request(); /* Server */
+void recv_msg_service_request(void); /* Server */
#endif /* DROPBEAR_SERVICE_H_ */
diff --git a/session.h b/session.h
index 77e1bcd..3a3569d 100644
--- a/session.h
+++ b/session.h
@@ -45,14 +45,14 @@ extern int exitflag;
void common_session_init(int sock_in, int sock_out);
void session_loop(void(*loophandler)()) ATTRIB_NORETURN;
-void session_cleanup();
-void send_session_identification();
-void send_msg_ignore();
-void ignore_recv_response();
+void session_cleanup(void);
+void send_session_identification(void);
+void send_msg_ignore(void);
+void ignore_recv_response(void);
-void update_channel_prio();
+void update_channel_prio(void);
-const char* get_user_shell();
+const char* get_user_shell(void);
void fill_passwd(const char* username);
/* Server */
@@ -64,7 +64,7 @@ void svr_dropbear_log(int priority, const char* format, va_list param);
void cli_session(int sock_in, int sock_out, struct dropbear_progress_connection *progress, pid_t proxy_cmd_pid) ATTRIB_NORETURN;
void cli_connected(int result, int sock, void* userdata, const char *errstring);
void cleantext(char* dirtytext);
-void kill_proxy_command();
+void kill_proxy_command(void);
/* crypto parameters that are stored individually for transmit and receive */
struct key_context_directional {
@@ -189,11 +189,11 @@ struct sshsession {
concluded (ie, while dataallowed was unset)*/
struct packetlist *reply_queue_head, *reply_queue_tail;
- void(*remoteclosed)(); /* A callback to handle closure of the
+ void(*remoteclosed)(void); /* A callback to handle closure of the
remote connection */
- void(*extra_session_cleanup)(); /* client or server specific cleanup */
- void(*send_kex_first_guess)();
+ void(*extra_session_cleanup)(void); /* client or server specific cleanup */
+ void(*send_kex_first_guess)(void);
struct AuthState authstate; /* Common amongst client and server, since most
struct elements are common */
diff --git a/signkey.c b/signkey.c
index a043d0d..9cbf2b0 100644
--- a/signkey.c
+++ b/signkey.c
@@ -29,7 +29,7 @@
#include "ssh.h"
#include "ecdsa.h"
-static const char *signkey_names[DROPBEAR_SIGNKEY_NUM_NAMED] = {
+static const char * const signkey_names[DROPBEAR_SIGNKEY_NUM_NAMED] = {
#ifdef DROPBEAR_RSA
"ssh-rsa",
#endif
diff --git a/signkey.h b/signkey.h
index 475b51a..7f637e0 100644
--- a/signkey.h
+++ b/signkey.h
@@ -82,7 +82,7 @@ struct SIGN_key {
typedef struct SIGN_key sign_key;
-sign_key * new_sign_key();
+sign_key * new_sign_key(void);
const char* signkey_name_from_type(enum signkey_type type, unsigned int *namelen);
enum signkey_type signkey_type_from_name(const char* name, unsigned int namelen);
int buf_get_pub_key(buffer *buf, sign_key *key, enum signkey_type *type);
diff --git a/svr-auth.c b/svr-auth.c
index 66db4fc..577ea88 100644
--- a/svr-auth.c
+++ b/svr-auth.c
@@ -35,7 +35,7 @@
#include "runopts.h"
#include "dbrandom.h"
-static void authclear();
+static void authclear(void);
static int checkusername(char *username, unsigned int userlen);
/* initialise the first time for a session, resetting all parameters */
diff --git a/svr-authpubkey.c b/svr-authpubkey.c
index 89d77ed..71c347a 100644
--- a/svr-authpubkey.c
+++ b/svr-authpubkey.c
@@ -72,7 +72,7 @@
static int checkpubkey(char* algo, unsigned int algolen,
unsigned char* keyblob, unsigned int keybloblen);
-static int checkpubkeyperms();
+static int checkpubkeyperms(void);
static void send_msg_userauth_pk_ok(char* algo, unsigned int algolen,
unsigned char* keyblob, unsigned int keybloblen);
static int checkfileperm(char * filename);
diff --git a/svr-main.c b/svr-main.c
index 28fc9b0..b274551 100644
--- a/svr-main.c
+++ b/svr-main.c
@@ -36,12 +36,12 @@ static void sigchld_handler(int dummy);
static void sigsegv_handler(int);
static void sigintterm_handler(int fish);
#ifdef INETD_MODE
-static void main_inetd();
+static void main_inetd(void);
#endif
#ifdef NON_INETD_MODE
-static void main_noinetd();
+static void main_noinetd(void);
#endif
-static void commonsetup();
+static void commonsetup(void);
#if defined(DBMULTI_dropbear) || !defined(DROPBEAR_MULTI)
#if defined(DBMULTI_dropbear) && defined(DROPBEAR_MULTI)
@@ -104,7 +104,7 @@ static void main_inetd() {
#endif /* INETD_MODE */
#ifdef NON_INETD_MODE
-void main_noinetd() {
+static void main_noinetd() {
fd_set fds;
unsigned int i, j;
int val;
@@ -306,8 +306,8 @@ void main_noinetd() {
#endif
/* make sure we close sockets */
- for (i = 0; i < listensockcount; i++) {
- m_close(listensocks[i]);
+ for (j = 0; j < listensockcount; j++) {
+ m_close(listensocks[j]);
}
m_close(childpipe[0]);
@@ -338,7 +338,7 @@ static void sigchld_handler(int UNUSED(unused)) {
const int saved_errno = errno;
- while(waitpid(-1, NULL, WNOHANG) > 0);
+ while(waitpid(-1, NULL, WNOHANG) > 0) {}
sa_chld.sa_handler = sigchld_handler;
sa_chld.sa_flags = SA_NOCLDSTOP;
diff --git a/svr-session.c b/svr-session.c
index 254a747..d14bca9 100644
--- a/svr-session.c
+++ b/svr-session.c
@@ -41,7 +41,7 @@
#include "runopts.h"
#include "crypto_desc.h"
-static void svr_remoteclosed();
+static void svr_remoteclosed(void);
struct serversession svr_ses; /* GLOBAL */
diff --git a/svr-tcpfwd.c b/svr-tcpfwd.c
index 1abd0ac..1c8d353 100644
--- a/svr-tcpfwd.c
+++ b/svr-tcpfwd.c
@@ -46,8 +46,8 @@ void recv_msg_global_request_remotetcp() {
/* */
#endif /* !ENABLE_SVR_REMOTETCPFWD */
-static int svr_cancelremotetcp();
-static int svr_remotetcpreq();
+static int svr_cancelremotetcp(void);
+static int svr_remotetcpreq(void);
static int newtcpdirect(struct Channel * channel);
#ifdef ENABLE_SVR_REMOTETCPFWD
diff --git a/tcpfwd.h b/tcpfwd.h
index 64139f0..3fce879 100644
--- a/tcpfwd.h
+++ b/tcpfwd.h
@@ -57,16 +57,16 @@ struct TCPFwdEntry {
};
/* Server */
-void recv_msg_global_request_remotetcp();
+void recv_msg_global_request_remotetcp(void);
extern const struct ChanType svr_chan_tcpdirect;
/* Client */
-void setup_localtcp();
-void setup_remotetcp();
+void setup_localtcp(void);
+void setup_remotetcp(void);
extern const struct ChanType cli_chan_tcpremote;
-void cli_recv_msg_request_success();
-void cli_recv_msg_request_failure();
+void cli_recv_msg_request_success(void);
+void cli_recv_msg_request_failure(void);
/* Common */
int listen_tcpfwd(struct TCPListener* tcpinfo);