On Wed, 18 Oct 2017, Darren Tucker wrote:
> I meant reusing the existing function rather than cloning it.  It's
> currently static so it needs to be exported but IMO that's better than
> duplicating the code.
> 
> Index: packet.c
> ===================================================================
> RCS file: /cvs/src/usr.bin/ssh/packet.c,v
> retrieving revision 1.265
> diff -u -p -r1.265 packet.c
> --- packet.c  13 Oct 2017 21:13:54 -0000      1.265
> +++ packet.c  17 Oct 2017 22:49:08 -0000
> @@ -1773,8 +1773,8 @@ ssh_packet_send_debug(struct ssh *ssh, c
>               fatal("%s: %s", __func__, ssh_err(r));
>  }
>  
> -static void
> -fmt_connection_id(struct ssh *ssh, char *s, size_t l)
> +void
> +sshpkt_fmt_connection_id(struct ssh *ssh, char *s, size_t l)
>  {
>       snprintf(s, l, "%.200s%s%s port %d",
>           ssh->log_preamble ? ssh->log_preamble : "",
> @@ -1790,7 +1790,7 @@ sshpkt_fatal(struct ssh *ssh, const char
>  {
>       char remote_id[512];
>  
> -     fmt_connection_id(ssh, remote_id, sizeof(remote_id));
> +     sshpkt_fmt_connection_id(ssh, remote_id, sizeof(remote_id));
>  
>       switch (r) {
>       case SSH_ERR_CONN_CLOSED:
> @@ -1852,7 +1852,7 @@ ssh_packet_disconnect(struct ssh *ssh, c
>        * Format the message.  Note that the caller must make sure the
>        * message is of limited size.
>        */
> -     fmt_connection_id(ssh, remote_id, sizeof(remote_id));
> +     sshpkt_fmt_connection_id(ssh, remote_id, sizeof(remote_id));
>       va_start(args, fmt);
>       vsnprintf(buf, sizeof(buf), fmt, args);
>       va_end(args);
> Index: packet.h
> ===================================================================
> RCS file: /cvs/src/usr.bin/ssh/packet.h,v
> retrieving revision 1.82
> diff -u -p -r1.82 packet.h
> --- packet.h  12 Sep 2017 06:32:07 -0000      1.82
> +++ packet.h  17 Oct 2017 22:49:08 -0000
> @@ -186,6 +186,7 @@ int       sshpkt_get_cstring(struct ssh *ssh, 
>  int  sshpkt_get_ec(struct ssh *ssh, EC_POINT *v, const EC_GROUP *g);
>  int  sshpkt_get_bignum2(struct ssh *ssh, BIGNUM *v);
>  int  sshpkt_get_end(struct ssh *ssh);
> +void sshpkt_fmt_connection_id(struct ssh *ssh, char *s, size_t l);
>  const u_char *sshpkt_ptr(struct ssh *, size_t *lenp);
>  
>  /* OLD API */
> Index: serverloop.c
> ===================================================================
> RCS file: /cvs/src/usr.bin/ssh/serverloop.c,v
> retrieving revision 1.198
> diff -u -p -r1.198 serverloop.c
> --- serverloop.c      12 Sep 2017 06:35:32 -0000      1.198
> +++ serverloop.c      17 Oct 2017 22:49:08 -0000
> @@ -162,10 +162,12 @@ static void
>  client_alive_check(struct ssh *ssh)
>  {
>       int channel_id;
> +     char remote_id[512];
>  
>       /* timeout, check to see how many we have had */
>       if (packet_inc_alive_timeouts() > options.client_alive_count_max) {
> -             logit("Timeout, client not responding.");
> +             sshpkt_fmt_connection_id(ssh, remote_id, sizeof(remote_id));
> +             logit("Timeout, client not responding from %s", remote_id);
>               cleanup_exit(255);
>       }
>  
> 

Yes, thanks.  That provides the log information I am looking for when a 
client times out.  

/Lars

Reply via email to