dbclient can't connect to cisco

Nik Soggia dropbear at niksoggia.it
Fri Nov 16 02:26:28 AWST 2018


Il 15/11/18 15:13, Matt Johnston ha scritto:

> Hi Nik,
> Could you see if the attached patch makes any difference? It sends the initial banner in its own TCP packet but without any delay, perhaps that might be enough.

Hi,
no, it doesn't work.
If you need access to a Cisco contact me privately an I'll give you all the details.

Did you know that Cisco sends the banner immediately?

$ telnet 10.1.1.1 22
Trying 10.1.1.1...
Connected to 10.1.1.1.
Escape character is '^]'.
SSH-2.0-Cisco-1.25
SSH-2.0-First!OhNo-1.0
[garbage]diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1ssh-rsa aes128-ctr,[more]
telnet> q
Connection closed.

Your patch helped me to transform my proof of concept in a hack which is not even close to be correct, but it is more socially acceptable than sleep().
We can add a comment blaming Cisco and call it a day.

I always thought that the client had to speak first, but RFC4253 4.2 does not impose any order: as long as both sides have sent their banner the protocol is happy.
Implementing this handshake properly would require a small state machine (blindly send banner, discard plaintext, wait for "SSH-*", unlock kexinit queue).
I do it wrong: blindly send banner, wait for any data, unlock kexinit queue, the trick is that Cisco always sends "SSH-*" first.
I tried adding a 2KB (bigger than the MTU) "banner motd" configuration command. Connecting via telnet I get the MOTD before the login prompt, connecting via SSH I get it only after I login. It's documented this way so it's a feature not a bug <https://www.cisco.com/c/en/us/support/docs/security-vpn/secure-shell-ssh/4145-ssh.html#banners>!

So in the end if I delay the kexinit until there is some data on the wire I will pull the rabbit out of the cylinder.
To be honest I just wait for the select() to exit: error, good data, wrong data or timeout make no difference at this point, I got the delay I was looking for.

Here is my new patch and some logs and packet dumps for extra entertainment.
have fun!

diff -Naubr dropbear-2018.76.old/packet.c dropbear-2018.76.new/packet.c
--- dropbear-2018.76.old/packet.c	2018-02-27 15:25:12.000000000 +0100
+++ dropbear-2018.76.new/packet.c	2018-11-15 19:14:20.947093508 +0100
@@ -66,10 +66,31 @@
  	buffer* writebuf;
  	int packet_type;
  #endif
+	struct timeval remoteid_to;
+	fd_set remoteid_fd;
  	
  	TRACE2(("enter write_packet"))
  	dropbear_assert(!isempty(&ses.writequeue));
  
+	if (!ses.sentident) {
+		/* SSH-1.99-Cisco-1.25 and SSH-2.0-Cisco-1.25 servers send out
+		their banner as soon as we connect and discard any non-banner
+		data received so far.
+		The only thing we can send now is our banner, then we have to
+		wait for their banner, then we can proceed with kexinit.
+		BUG: this hack waits for any data, not for a "SSH-" banner */
+		ses.sentident = 1;
+		iov_count = 1;
+
+		remoteid_to.tv_sec = 5;
+		remoteid_to.tv_usec = 0;
+		FD_ZERO(&remoteid_fd);
+		FD_SET(ses.sock_in, &remoteid_fd);
+		FD_SET(ses.sock_in, &remoteid_fd);
+		TRACE2(("waiting for remote banner"))
+		(void) select(ses.sock_in + 1, &remoteid_fd, NULL, NULL, &remoteid_to);
+	}
+
  #if defined(HAVE_WRITEV) && (defined(IOV_MAX) || defined(UIO_MAXIOV))
  
  	packet_queue_to_iovec(&ses.writequeue, iov, &iov_count);
diff -Naubr dropbear-2018.76.old/session.h dropbear-2018.76.new/session.h
--- dropbear-2018.76.old/session.h	2018-02-27 15:25:12.000000000 +0100
+++ dropbear-2018.76.new/session.h	2018-11-15 19:14:20.466088039 +0100
@@ -119,6 +119,8 @@
  	 * by the time any recv_() packet methods are called */
  	char *remoteident;
  
+	int sentident;
+
  	int maxfd; /* the maximum file descriptor to check with select() */
  
  
TRACE  (Matt) 0.000000: host is: user at 10.1.1.1
TRACE  (Matt) 0.000038: loadidentityfile /home/user/.ssh/id_dropbear
TRACE  (Matt) 0.000054: user='user' host='10.1.1.1' port='22' bind_address='(null)' bind_port='(null)'
TRACE  (Matt) 0.000071: enter session_init
TRACE  (Matt) 0.000076: update_channel_prio
TRACE  (Matt) 0.000100: leave update_channel_prio: no socket
TRACE  (Matt) 0.000110: setnonblocking: 3
TRACE  (Matt) 0.000115: leave setnonblocking
TRACE  (Matt) 0.000135: setnonblocking: 4
TRACE  (Matt) 0.000137: leave setnonblocking
TRACE  (Matt) 0.000152: leave session_init
TRACE  (Matt) 0.000163: proxy command PID='0'
TRACE  (Matt) 0.000169: kexinitialise()
TRACE  (Matt) 0.000177: algolist add 'curve25519-sha256,curve25519-sha256 at libssh.org,ecdh-sha2-nistp521,ecdh-sha2-nistp384,ecdh-sha2-nistp256,diffie-hellman-group14-sha256,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1,kexguess2 at matt.ucc.asn.au'
TRACE  (Matt) 0.000186: algolist add 'ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,ssh-rsa,ssh-dss'
TRACE  (Matt) 0.000197: algolist add 'aes128-ctr,aes256-ctr,aes128-cbc,aes256-cbc,3des-ctr,3des-cbc'
TRACE  (Matt) 0.000204: algolist add 'aes128-ctr,aes256-ctr,aes128-cbc,aes256-cbc,3des-ctr,3des-cbc'
TRACE  (Matt) 0.000209: algolist add 'hmac-sha1-96,hmac-sha1,hmac-sha2-256'
TRACE  (Matt) 0.000219: algolist add 'hmac-sha1-96,hmac-sha1,hmac-sha2-256'
TRACE  (Matt) 0.000226: algolist add 'zlib at openssh.com,zlib,none'
TRACE  (Matt) 0.000234: algolist add 'zlib at openssh.com,zlib,none'
TRACE  (Matt) 0.000240: send_msg_kexdh_init()
TRACE  (Matt) 0.000699: DATAALLOWED=0
TRACE  (Matt) 0.000707: -> KEXINIT
TRACE  (Matt) 0.000712: enter set_connect_fds
TRACE  (Matt) 0.000720: setnonblocking: 8
TRACE  (Matt) 0.000726: leave setnonblocking
TRACE  (Matt) 0.002287: maybe_empty_reply_queue - no data allowed
TRACE  (Matt) 0.002331: enter handle_connect_fds
TRACE  (Matt) 0.002350: handling 10.1.1.1 port 22 socket 8
TRACE  (Matt) 0.002372: update_channel_prio
TRACE  (Matt) 0.002390: update_channel_prio: not any
TRACE  (Matt) 0.002408: Dropbear priority transitioning 10 -> 11
TRACE  (Matt) 0.002436: Couldn't set IPV6_TCLASS (Protocol not available)
TRACE  (Matt) 0.002461: leave handle_connect_fds - success
TRACE  (Matt) 0.002523: enter set_connect_fds
TRACE  (Matt) 0.002529: maybe_empty_reply_queue - no data allowed
TRACE  (Matt) 0.002533: enter handle_connect_fds
TRACE  (Matt) 0.002537: leave handle_connect_fds - end iter
TRACE  (Matt) 0.002545: empty queue dequeing
TRACE  (Matt) 0.002550: enter set_connect_fds
TRACE  (Matt) 0.005816: enter ident_readln
TRACE  (Matt) 0.005852: leave ident_readln: return 19
TRACE  (Matt) 0.005858: remoteident: SSH-2.0-Cisco-1.25
TRACE  (Matt) 0.005869: maybe_empty_reply_queue - no data allowed
TRACE  (Matt) 0.005874: enter handle_connect_fds
TRACE  (Matt) 0.005888: leave handle_connect_fds - end iter
TRACE  (Matt) 0.005900: enter set_connect_fds
^C

TRACE  (Nik) 0.000000: host is: user at 10.1.1.1
TRACE  (Nik) 0.000062: loadidentityfile /home/user/.ssh/id_dropbear
TRACE  (Nik) 0.000085: user='user' host='10.1.1.1' port='22' bind_address='(null)' bind_port='(null)'
TRACE  (Nik) 0.000110: enter session_init
TRACE  (Nik) 0.000116: update_channel_prio
TRACE  (Nik) 0.000118: leave update_channel_prio: no socket
TRACE  (Nik) 0.000132: setnonblocking: 3
TRACE  (Nik) 0.000138: leave setnonblocking
TRACE  (Nik) 0.000140: setnonblocking: 4
TRACE  (Nik) 0.000144: leave setnonblocking
TRACE  (Nik) 0.000162: leave session_init
TRACE  (Nik) 0.000168: proxy command PID='0'
TRACE  (Nik) 0.000177: kexinitialise()
TRACE  (Nik) 0.000185: algolist add 'curve25519-sha256,curve25519-sha256 at libssh.org,ecdh-sha2-nistp521,ecdh-sha2-nistp384,ecdh-sha2-nistp256,diffie-hellman-group14-sha256,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1,kexguess2 at matt.ucc.asn.au'
TRACE  (Nik) 0.000207: algolist add 'ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,ssh-rsa,ssh-dss'
TRACE  (Nik) 0.000213: algolist add 'aes128-ctr,aes256-ctr,aes128-cbc,aes256-cbc,3des-ctr,3des-cbc'
TRACE  (Nik) 0.000221: algolist add 'aes128-ctr,aes256-ctr,aes128-cbc,aes256-cbc,3des-ctr,3des-cbc'
TRACE  (Nik) 0.000230: algolist add 'hmac-sha1-96,hmac-sha1,hmac-sha2-256'
TRACE  (Nik) 0.000235: algolist add 'hmac-sha1-96,hmac-sha1,hmac-sha2-256'
TRACE  (Nik) 0.000240: algolist add 'zlib at openssh.com,zlib,none'
TRACE  (Nik) 0.000247: algolist add 'zlib at openssh.com,zlib,none'
TRACE  (Nik) 0.000256: send_msg_kexdh_init()
TRACE  (Nik) 0.000700: DATAALLOWED=0
TRACE  (Nik) 0.000704: -> KEXINIT
TRACE  (Nik) 0.000713: enter set_connect_fds
TRACE  (Nik) 0.000730: setnonblocking: 8
TRACE  (Nik) 0.000737: leave setnonblocking
TRACE  (Nik) 0.002222: maybe_empty_reply_queue - no data allowed
TRACE  (Nik) 0.002259: enter handle_connect_fds
TRACE  (Nik) 0.002284: handling 10.1.1.1 port 22 socket 8
TRACE  (Nik) 0.002312: update_channel_prio
TRACE  (Nik) 0.002345: update_channel_prio: not any
TRACE  (Nik) 0.002377: Dropbear priority transitioning 10 -> 11
TRACE  (Nik) 0.002390: Couldn't set IPV6_TCLASS (Protocol not available)
TRACE  (Nik) 0.002397: leave handle_connect_fds - success
TRACE  (Nik) 0.004169: enter set_connect_fds
TRACE  (Nik) 0.004181: maybe_empty_reply_queue - no data allowed
TRACE  (Nik) 0.004184: enter handle_connect_fds
TRACE  (Nik) 0.004188: leave handle_connect_fds - end iter
TRACE  (Nik) 0.004193: empty queue dequeing
TRACE  (Nik) 0.004195: enter set_connect_fds
TRACE  (Nik) 0.004203: enter ident_readln
TRACE  (Nik) 0.004232: leave ident_readln: return 19
TRACE  (Nik) 0.004237: remoteident: SSH-2.0-Cisco-1.25
TRACE  (Nik) 0.004243: maybe_empty_reply_queue - no data allowed
TRACE  (Nik) 0.004248: enter handle_connect_fds
TRACE  (Nik) 0.004253: leave handle_connect_fds - end iter
TRACE  (Nik) 0.004257: enter set_connect_fds
wo-hoo!
TRACE  (Nik) 0.006658: process_packet: packet type = 20,  len 308
TRACE  (Nik) 0.006673: got expected packet 20 during kexinit
TRACE  (Nik) 0.006676: <- KEXINIT
TRACE  (Nik) 0.006683: enter recv_msg_kexinit
TRACE  (Nik) 0.006727: buf_match_algo: diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1
TRACE  (Nik) 0.006733: kexguess2 1
TRACE  (Nik) 0.006737: kex algo diffie-hellman-group14-sha1
TRACE  (Nik) 0.006750: buf_match_algo: ssh-rsa
TRACE  (Nik) 0.006752: hostkey algo ssh-rsa
TRACE  (Nik) 0.006757: buf_match_algo: aes128-ctr,aes192-ctr,aes256-ctr
TRACE  (Nik) 0.006762: enc c2s is  aes128-ctr
TRACE  (Nik) 0.006775: buf_match_algo: aes128-ctr,aes192-ctr,aes256-ctr
TRACE  (Nik) 0.006780: enc s2c is  aes128-ctr
TRACE  (Nik) 0.006783: buf_match_algo: hmac-sha2-256,hmac-sha2-512,hmac-sha1,hmac-sha1-96
TRACE  (Nik) 0.006787: hash c2s is  hmac-sha1-96
TRACE  (Nik) 0.006793: buf_match_algo: hmac-sha2-256,hmac-sha2-512,hmac-sha1,hmac-sha1-96
TRACE  (Nik) 0.006803: hash s2c is  hmac-sha1-96
TRACE  (Nik) 0.006814: buf_match_algo: none
TRACE  (Nik) 0.006817: hash c2s is  none
TRACE  (Nik) 0.006819: buf_match_algo: none
TRACE  (Nik) 0.006829: hash s2c is  none
TRACE  (Nik) 0.006846: leave recv_msg_kexinit
TRACE  (Nik) 0.006852: maybe_empty_reply_queue - no data allowed
TRACE  (Nik) 0.006859: enter handle_connect_fds
TRACE  (Nik) 0.006865: leave handle_connect_fds - end iter
TRACE  (Nik) 0.006868: send_msg_kexdh_init()
TRACE  (Nik) 0.006872: enter gen_kexdh_vals
TRACE  (Nik) 0.014023: leave cli_sessionloop: done with KEXINIT_RCVD
TRACE  (Nik) 0.014057: empty queue dequeing
TRACE  (Nik) 0.014063: enter set_connect_fds
TRACE  (Nik) 0.730167: maybe_empty_reply_queue - no data allowed
TRACE  (Nik) 0.730201: enter handle_connect_fds
TRACE  (Nik) 0.730215: leave handle_connect_fds - end iter
TRACE  (Nik) 0.730233: leave cli_sessionloop: kex_state != KEX_NOTHING
TRACE  (Nik) 0.730254: enter set_connect_fds
TRACE  (Nik) 0.730389: process_packet: packet type = 31,  len 824
TRACE  (Nik) 0.730397: got expected packet 31 during kexinit
TRACE  (Nik) 0.730402: enter recv_msg_kexdh_reply
TRACE  (Nik) 0.730406: type is 0
TRACE  (Nik) 0.748628: failed reading line: prob EOF

Host '10.1.1.1' is not in the trusted hosts file.

begin-base64 644 patch_by_matt.pcap
1MOyoQIABAAAAAAAAAAAAOj9AAABAAAAYoTtW4bsBgBKAAAASgAAAPhy6pe2
fuDVXnMbQQgARQAAPOzrQABABjfMCgEBAgoBAQGvwgAWLGSNLgAAAACgAnIQ
FjMAAAIEBbQEAggKAAphxQAAAAABAwMHYoTtWxTyBgA6AAAAOgAAAODVXnMb
Qfhy6pe2fggARQAALLoxAAD/BuuVCgEBAQoBAQIAFq/CL6XfDSxkjS9gEhAg
+dIAAAIEBbRihO1bZ/IGADYAAAA2AAAA+HLql7Z+4NVecxtBCABFAAAo7OxA
AEAGN98KAQECCgEBAa/CABYsZI0vL6XfDlAQchAWHwAAYoTtW0zzBgBQAAAA
UAAAAPhy6pe2fuDVXnMbQQgARRAAQuztQABABje0CgEBAgoBAQGvwgAWLGSN
Ly+l3w5QGHIQFjkAAFNTSC0yLjAtZHJvcGJlYXJfMjAxOC43Ng0KYoTtW+/z
BgDGAgAAxgIAAPhy6pe2fuDVXnMbQQgARRACuOzuQABABjU9CgEBAgoBAQGv
wgAWLGSNSS+l3w5QGHIQGK8AAAAAAlwGFBHEgrAD+VbMBAi4kbIEBPkAAADW
Y3VydmUyNTUxOS1zaGEyNTYsY3VydmUyNTUxOS1zaGEyNTZAbGlic3NoLm9y
ZyxlY2RoLXNoYTItbmlzdHA1MjEsZWNkaC1zaGEyLW5pc3RwMzg0LGVjZGgt
c2hhMi1uaXN0cDI1NixkaWZmaWUtaGVsbG1hbi1ncm91cDE0LXNoYTI1Nixk
aWZmaWUtaGVsbG1hbi1ncm91cDE0LXNoYTEsZGlmZmllLWhlbGxtYW4tZ3Jv
dXAxLXNoYTEsa2V4Z3Vlc3MyQG1hdHQudWNjLmFzbi5hdQAAAEtlY2RzYS1z
aGEyLW5pc3RwMjU2LGVjZHNhLXNoYTItbmlzdHAzODQsZWNkc2Etc2hhMi1u
aXN0cDUyMSxzc2gtcnNhLHNzaC1kc3MAAAA9YWVzMTI4LWN0cixhZXMyNTYt
Y3RyLGFlczEyOC1jYmMsYWVzMjU2LWNiYywzZGVzLWN0ciwzZGVzLWNiYwAA
AD1hZXMxMjgtY3RyLGFlczI1Ni1jdHIsYWVzMTI4LWNiYyxhZXMyNTYtY2Jj
LDNkZXMtY3RyLDNkZXMtY2JjAAAAJGhtYWMtc2hhMS05NixobWFjLXNoYTEs
aG1hYy1zaGEyLTI1NgAAACRobWFjLXNoYTEtOTYsaG1hYy1zaGExLGhtYWMt
c2hhMi0yNTYAAAAaemxpYkBvcGVuc3NoLmNvbSx6bGliLG5vbmUAAAAaemxp
YkBvcGVuc3NoLmNvbSx6bGliLG5vbmUAAAAAAAAAAAEAAAAAEmkZGWRsAAAA
LAYeAAAAILxC80tGiyrNjWHyV7e23h07tHL6F+3dCnP8iXcVK/E3nUX4i+i7
YoTtW9D4BgA2AAAANgAAAODVXnMbQfhy6pe2fggARQAAKLoyAAD/BuuYCgEB
AQoBAQIAFq/CL6XfDixkjUlQEBAGEZAAAGKE7VsTAAcASQAAAEkAAADg1V5z
G0H4cuqXtn4IAEXAADu6MwAA/wbqxAoBAQEKAQECABavwi+l3w4sZI/ZUBgN
doA7AABTU0gtMi4wLUNpc2NvLTEuMjUKYoTtWygABwA2AAAANgAAAPhy6pe2
fuDVXnMbQQgARRAAKOzvQABABjfMCgEBAgoBAQGvwgAWLGSP2S+l3yFQEHIQ
Fh8AAGaE7VsgoQQANgAAADYAAAD4cuqXtn7g1V5zG0EIAEUQACjs8EAAQAY3
ywoBAQIKAQEBr8IAFixkj9kvpd8hUBFyEBYfAABmhO1bvaMEADYAAAA2AAAA
4NVecxtB+HLql7Z+CABFwAAoujQAAP8G6tYKAQEBCgEBAgAWr8Ivpd8hLGSP
2lAQDXYRfAAAZoTtW+/NCAA2AAAANgAAAODVXnMbQfhy6pe2fggARcAAKLo1
AAD/BurVCgEBAQoBAQIAFq/CL6XfISxkj9pQGQ12EXMAAGaE7VsFzggANgAA
ADYAAAD4cuqXtn7g1V5zG0EIAEUQACilkUAAQAZ/KgoBAQIKAQEBr8IAFixk
j9ovpd8iUBByEKzgAAA=
====

begin-base64 644 patch_by_nik.pcap
1MOyoQIABAAAAAAAAAAAAOj9AAABAAAALYztWx87BwBKAAAASgAAAPhy6pe2
fuDVXnMbQQgARQAAPMitQABABlwKCgEBAgoBAQGxogAWB9UafAAAAACgAnIQ
FjMAAAIEBbQEAggKACjS0QAAAAABAwMHLYztW09ABwA6AAAAOgAAAODVXnMb
Qfhy6pe2fggARQAALEEgAAD/BmSnCgEBAQoBAQIAFrGiRmYTUwfVGn1gEhAg
RC4AAAIEBbQtjO1bpEAHADYAAAA2AAAA+HLql7Z+4NVecxtBCABFAAAoyK5A
AEAGXB0KAQECCgEBAbGiABYH1Rp9RmYTVFAQchAWHwAALYztWzpIBwBJAAAA
SQAAAODVXnMbQfhy6pe2fggARcAAO0EhAAD/BmPXCgEBAQoBAQIAFrGiRmYT
VAfVGn1QGBAgypYAAFNTSC0yLjAtQ2lzY28tMS4yNQotjO1bTEgHADYAAAA2
AAAA+HLql7Z+4NVecxtBCABFEAAoyK9AAEAGXAwKAQECCgEBAbGiABYH1Rp9
RmYTZ1AQchAWHwAALYztW11IBwBQAAAAUAAAAPhy6pe2fuDVXnMbQQgARRAA
QsiwQABABlvxCgEBAgoBAQGxogAWB9UafUZmE2dQGHIQFjkAAFNTSC0yLjAt
ZHJvcGJlYXJfMjAxOC43Ng0KLYztW+xIBwDGAgAAxgIAAPhy6pe2fuDVXnMb
QQgARRACuMixQABABll6CgEBAgoBAQGxogAWB9Ual0ZmE2dQGHIQGK8AAAAA
AlwGFC9UpMq/gIPzMUpsKY59w9wAAADWY3VydmUyNTUxOS1zaGEyNTYsY3Vy
dmUyNTUxOS1zaGEyNTZAbGlic3NoLm9yZyxlY2RoLXNoYTItbmlzdHA1MjEs
ZWNkaC1zaGEyLW5pc3RwMzg0LGVjZGgtc2hhMi1uaXN0cDI1NixkaWZmaWUt
aGVsbG1hbi1ncm91cDE0LXNoYTI1NixkaWZmaWUtaGVsbG1hbi1ncm91cDE0
LXNoYTEsZGlmZmllLWhlbGxtYW4tZ3JvdXAxLXNoYTEsa2V4Z3Vlc3MyQG1h
dHQudWNjLmFzbi5hdQAAAEtlY2RzYS1zaGEyLW5pc3RwMjU2LGVjZHNhLXNo
YTItbmlzdHAzODQsZWNkc2Etc2hhMi1uaXN0cDUyMSxzc2gtcnNhLHNzaC1k
c3MAAAA9YWVzMTI4LWN0cixhZXMyNTYtY3RyLGFlczEyOC1jYmMsYWVzMjU2
LWNiYywzZGVzLWN0ciwzZGVzLWNiYwAAAD1hZXMxMjgtY3RyLGFlczI1Ni1j
dHIsYWVzMTI4LWNiYyxhZXMyNTYtY2JjLDNkZXMtY3RyLDNkZXMtY2JjAAAA
JGhtYWMtc2hhMS05NixobWFjLXNoYTEsaG1hYy1zaGEyLTI1NgAAACRobWFj
LXNoYTEtOTYsaG1hYy1zaGExLGhtYWMtc2hhMi0yNTYAAAAaemxpYkBvcGVu
c3NoLmNvbSx6bGliLG5vbmUAAAAaemxpYkBvcGVuc3NoLmNvbSx6bGliLG5v
bmUAAAAAAAAAAAEAAAAA4Q50hPkwAAAALAYeAAAAINlujCjEPj32HDGFJrrr
o5Dx81SfRB+LlCMPmnGBLhN3LG0kYKkiLYztW+dNBwA2AAAANgAAAODVXnMb
Qfhy6pe2fggARcAAKEEiAAD/BmPpCgEBAQoBAQIAFrGiRmYTZwfVHSdQEA12
W9gAAC2M7VsCUgcAbgEAAG4BAADg1V5zG0H4cuqXtn4IAEXAAWBBIwAA/wZi
sAoBAQEKAQECABaxokZmE2cH1R0nUBgNdlqhAAAAAAE0BBQewzHG9wrA62lW
/hIKpfQJAAAAPmRpZmZpZS1oZWxsbWFuLWdyb3VwLWV4Y2hhbmdlLXNoYTEs
ZGlmZmllLWhlbGxtYW4tZ3JvdXAxNC1zaGExAAAAB3NzaC1yc2EAAAAgYWVz
MTI4LWN0cixhZXMxOTItY3RyLGFlczI1Ni1jdHIAAAAgYWVzMTI4LWN0cixh
ZXMxOTItY3RyLGFlczI1Ni1jdHIAAAAyaG1hYy1zaGEyLTI1NixobWFjLXNo
YTItNTEyLGhtYWMtc2hhMSxobWFjLXNoYTEtOTYAAAAyaG1hYy1zaGEyLTI1
NixobWFjLXNoYTItNTEyLGhtYWMtc2hhMSxobWFjLXNoYTEtOTYAAAAEbm9u
ZQAAAARub25lAAAAAAAAAAAAAAAAAAAAAAA=
====

-- 

/\/ / /-<



More information about the Dropbear mailing list