From steve at fl-eng.com Wed Jul 8 02:12:53 2009 From: steve at fl-eng.com (Steve Spano) Date: Tue, 7 Jul 2009 14:12:53 -0400 Subject: ### Dropbear MMAP problem? Message-ID: <00d301c9ff2e$8c1b07d0$1501a8c0@flexeon32> Hello, I am attempting to get dropbear working on a Xilinx Microblaze system. I have compiled it and it is excuting, but there seems to be some buffer/alloc problem of some kind that I am not sure yet how to resolve. This is an MMU-LESS system and compiled against uCLibc I can connect, exchange keys, and authenticate my username password propertly However, when the terminal session begins, I get an error about un mapping non-mmaped memory and then a subsequent buffer_incr problem and then an exit. The trace log is below - can anyone offer suggestions? Thanks quit 221 Goodbye # ./dropbeart -    -F TRACE (79): enter loadhostkeys TRACE (79): enter buf_get_priv_key TRACE (79): enter rsa_key_free TRACE (79): leave rsa_key_free: key == NULL TRACE (79): enter buf_get_rsa_priv_key TRACE (79): enter buf_get_rsa_pub_key TRACE (79): leave buf_get_rsa_pub_key: success TRACE (79): leave buf_get_rsa_priv_key TRACE (79): leave buf_get_priv_key TRACE (79): enter buf_get_priv_key TRACE (79): enter dsa_key_free TRACE (79): enter dsa_key_free: key == NULL TRACE (79): enter buf_get_dss_pub_key TRACE (79): leave buf_get_dss_pub_key: success TRACE (79): leave buf_get_priv_key TRACE (79): leave loadhostkeys TRACE (79): listensockets: 1 to try TRACE (79): listening on ':22' TRACE (79): enter dropbear_listen TRACE (79): dropbear_listen: all interfaces TRACE (79): bind(22) failed TRACE (79): leave dropbear_listen: success, 1 socks bound [79] Jul 07 15:55:58 Not backgrounding [79] Jul 07 15:56:13 Child connection from 192.168.1.21:2594 TRACE (79): enter session_init TRACE (79): setnonblocking: 3 TRACE (79): leave setnonblocking TRACE (79): setnonblocking: 5 TRACE (79): leave setnonblocking TRACE (79): kexinitialise() TRACE (79): leave session_init TRACE (79): enter ident_readln TRACE (79): leave ident_readln: return 36 TRACE (79): remoteident: SSH-2.0-1.84 sshlib: Tunnelier 4.29 TRACE (79): enter encrypt_packet() TRACE (79): encrypt_packet type is 20 TRACE (79): enter writemac TRACE (79): leave writemac TRACE (79): enter enqueue TRACE (79): leave enqueue TRACE (79): leave encrypt_packet() TRACE (79): DATAALLOWED=0 TRACE (79): -> KEXINIT TRACE (79): enter write_packet TRACE (79): empty queue dequeing TRACE (79): leave write_packet TRACE (79): enter read_packet TRACE (79): leave read_packet TRACE (79): maybe_empty_reply_queue - no data allowed TRACE (79): enter read_packet TRACE (79): enter decrypt_packet TRACE (79): leave decrypt_packet TRACE (79): leave read_packet TRACE (79): enter process_packet TRACE (79): process_packet: packet type = 20 TRACE (79): <- KEXINIT TRACE (79): enter recv_msg_kexinit TRACE (79): buf_match_algo: diffie-hellman-group14-sha1,diffie-hellman-group-exchange-sha1,diffie-hellma n-group1-sha1 TRACE (79): kex algo diffie-hellman-group1-sha1 TRACE (79): buf_match_algo: ssh-rsa,ssh-dss TRACE (79): hostkey algo ssh-rsa TRACE (79): buf_match_algo: aes256-ctr,twofish256-ctr,twofish-ctr,aes128-ctr,twofish128-ctr,blowfish-ctr ,3des-ctr,cast128-ctr,aes256-cbc,twofish256-cbc,twofish-cbc,aes128-cbc,twofi sh128-cbc,blowfish-cbc,3des-cbc,arcfour,cast128-cbc TRACE (79): enc c2s is aes256-ctr TRACE (79): buf_match_algo: aes256-ctr,twofish256-ctr,twofish-ctr,aes128-ctr,twofish128-ctr,blowfish-ctr ,3des-ctr,cast128-ctr,aes256-cbc,twofish256-cbc,twofish-cbc,aes128-cbc,twofi sh128-cbc,blowfish-cbc,3des-cbc,arcfour,cast128-cbc TRACE (79): enc s2c is aes256-ctr TRACE (79): buf_match_algo: hmac-sha1,hmac-md5,hmac-sha1-96,hmac-md5-96 TRACE (79): hash c2s is hmac-sha1 TRACE (79): buf_match_algo: hmac-sha1,hmac-md5,hmac-sha1-96,hmac-md5-96 TRACE (79): hash s2c is hmac-sha1 TRACE (79): buf_match_algo: none TRACE (79): hash c2s is none TRACE (79): buf_match_algo: none TRACE (79): hash s2c is none TRACE (79): leave recv_msg_kexinit TRACE (79): leave process_packet TRACE (79): maybe_empty_reply_queue - no data allowed TRACE (79): enter read_packet TRACE (79): enter decrypt_packet TRACE (79): leave decrypt_packet TRACE (79): leave read_packet TRACE (79): enter process_packet TRACE (79): process_packet: packet type = 30 TRACE (79): enter recv_msg_kexdh_init TRACE (79): enter send_msg_kexdh_reply TRACE (79): enter send_msg_kexdh_reply TRACE (79): enter buf_put_pub_key TRACE (79): enter buf_put_rsa_pub_key TRACE (79): enter buf_putmpint TRACE (79): leave buf_putmpint TRACE (79): enter buf_putmpint TRACE (79): leave buf_putmpint TRACE (79): leave buf_put_rsa_pub_key TRACE (79): leave buf_put_pub_key TRACE (79): enter buf_putmpint TRACE (79): leave buf_putmpint TRACE (79): enter buf_putmpint TRACE (79): leave buf_putmpint TRACE (79): enter buf_putmpint TRACE (79): leave buf_putmpint TRACE (79): enter buf_put_pub_key TRACE (79): enter buf_put_rsa_pub_key TRACE (79): enter buf_putmpint TRACE (79): leave buf_putmpint TRACE (79): enter buf_putmpint TRACE (79): leave buf_putmpint TRACE (79): leave buf_put_rsa_pub_key TRACE (79): leave buf_put_pub_key TRACE (79): enter buf_putmpint TRACE (79): leave buf_putmpint TRACE (79): enter buf_put_rsa_sign TRACE (79): leave buf_put_rsa_sign TRACE (79): enter encrypt_packet() TRACE (79): encrypt_packet type is 31 TRACE (79): enter writemac TRACE (79): leave writemac TRACE (79): enter enqueue TRACE (79): leave enqueue TRACE (79): leave encrypt_packet() TRACE (79): leave send_msg_kexdh_reply TRACE (79): enter send_msg_newkeys TRACE (79): enter encrypt_packet() TRACE (79): encrypt_packet type is 21 TRACE (79): enter writemac TRACE (79): leave writemac TRACE (79): enter enqueue TRACE (79): leave enqueue TRACE (79): leave encrypt_packet() TRACE (79): SENTNEWKEYS=1 TRACE (79): -> MSG_NEWKEYS TRACE (79): leave send_msg_newkeys TRACE (79): leave recv_msg_kexdh_init TRACE (79): leave process_packet TRACE (79): maybe_empty_reply_queue - no data allowed TRACE (79): enter write_packet TRACE (79): leave write_packet TRACE (79): enter read_packet TRACE (79): enter decrypt_packet TRACE (79): leave decrypt_packet TRACE (79): leave read_packet TRACE (79): enter process_packet TRACE (79): process_packet: packet type = 2 TRACE (79): leave process_packet TRACE (79): maybe_empty_reply_queue - no data allowed TRACE (79): enter write_packet TRACE (79): empty queue dequeing TRACE (79): leave write_packet TRACE (79): enter read_packet TRACE (79): enter decrypt_packet TRACE (79): leave decrypt_packet TRACE (79): leave read_packet TRACE (79): enter process_packet TRACE (79): process_packet: packet type = 21 TRACE (79): <- MSG_NEWKEYS TRACE (79): enter recv_msg_newkeys TRACE (79): while SENTNEWKEYS=1 TRACE (79): enter gen_new_keys TRACE (79): enter buf_putmpint TRACE (79): leave buf_putmpint TRACE (79): leave gen_new_keys TRACE (79): kexinitialise() TRACE (79): -> DATAALLOWED=1 TRACE (79): leave recv_msg_newkeys TRACE (79): leave process_packet TRACE (79): enter read_packet TRACE (79): enter decrypt_packet TRACE (79): leave decrypt_packet TRACE (79): leave read_packet TRACE (79): enter process_packet TRACE (79): process_packet: packet type = 5 TRACE (79): enter recv_msg_service_request TRACE (79): accepting service ssh-userauth TRACE (79): enter encrypt_packet() TRACE (79): encrypt_packet type is 6 TRACE (79): enter writemac TRACE (79): leave writemac TRACE (79): enter enqueue TRACE (79): leave enqueue TRACE (79): leave encrypt_packet() TRACE (79): leave recv_msg_service_request: done ssh-userauth TRACE (79): leave process_packet TRACE (79): enter write_packet TRACE (79): empty queue dequeing TRACE (79): leave write_packet TRACE (79): enter read_packet TRACE (79): enter decrypt_packet TRACE (79): leave decrypt_packet TRACE (79): leave read_packet TRACE (79): enter process_packet TRACE (79): process_packet: packet type = 50 TRACE (79): enter recv_msg_userauth_request TRACE (79): recv_msg_userauth_request: 'none' request TRACE (79): enter send_msg_userauth_failure TRACE (79): auth fail: methods 6, 'publickey,password' TRACE (79): enter encrypt_packet() TRACE (79): encrypt_packet type is 51 TRACE (79): enter writemac TRACE (79): leave writemac TRACE (79): enter enqueue TRACE (79): leave enqueue TRACE (79): leave encrypt_packet() TRACE (79): leave send_msg_userauth_failure TRACE (79): leave process_packet TRACE (79): enter write_packet TRACE (79): empty queue dequeing TRACE (79): leave write_packet TRACE (79): enter read_packet TRACE (79): enter decrypt_packet TRACE (79): leave decrypt_packet TRACE (79): leave read_packet TRACE (79): enter process_packet TRACE (79): process_packet: packet type = 2 TRACE (79): leave process_packet TRACE (79): enter read_packet TRACE (79): enter decrypt_packet TRACE (79): leave decrypt_packet TRACE (79): leave read_packet TRACE (79): enter process_packet TRACE (79): process_packet: packet type = 50 TRACE (79): enter recv_msg_userauth_request TRACE (79): enter checkusername TRACE (79): shell is /bin/sh TRACE (79): test shell is '/bin/sh' TRACE (79): matching shell TRACE (79): uid = 0 TRACE (79): leave checkusername [79] Jul 07 15:58:54 password auth succeeded for 'Administrator' from 192.168.1.21:2594 TRACE (79): enter send_msg_userauth_success TRACE (79): enter encrypt_packet() TRACE (79): encrypt_packet type is 52 TRACE (79): enter writemac TRACE (79): leave writemac TRACE (79): enter enqueue TRACE (79): leave enqueue TRACE (79): leave encrypt_packet() TRACE (79): leave send_msg_userauth_success TRACE (79): leave process_packet TRACE (79): enter write_packet TRACE (79): empty queue dequeing TRACE (79): leave write_packet TRACE (79): enter read_packet TRACE (79): enter decrypt_packet TRACE (79): leave decrypt_packet TRACE (79): leave read_packet TRACE (79): enter process_packet TRACE (79): process_packet: packet type = 2 TRACE (79): leave process_packet TRACE (79): enter read_packet TRACE (79): enter decrypt_packet TRACE (79): leave decrypt_packet TRACE (79): leave read_packet TRACE (79): enter process_packet TRACE (79): process_packet: packet type = 90 TRACE (79): enter recv_msg_channel_open TRACE (79): matched type 'session' TRACE (79): enter newchannel TRACE (79): leave newchannel TRACE (79): enter send_msg_channel_open_confirmation TRACE (79): enter encrypt_packet() TRACE (79): encrypt_packet type is 91 TRACE (79): enter writemac TRACE (79): leave writemac TRACE (79): enter enqueue TRACE (79): leave enqueue TRACE (79): leave encrypt_packet() TRACE (79): leave send_msg_channel_open_confirmation TRACE (79): leave recv_msg_channel_open TRACE (79): leave process_packet TRACE (79): check_close: writefd -2, readfd -2, errfd -1, sent_close 0, recv_close 0 TRACE (79): writebuf size 0 extrabuf size 0 TRACE (79): sesscheckclose, pid is -1 TRACE (79): sesscheckclose, pid is -1 TRACE (79): enter write_packet TRACE (79): empty queue dequeing TRACE (79): leave write_packet TRACE (79): check_close: writefd -2, readfd -2, errfd -1, sent_close 0, recv_close 0 TRACE (79): writebuf size 0 extrabuf size 0 TRACE (79): sesscheckclose, pid is -1 TRACE (79): sesscheckclose, pid is -1 TRACE (79): enter read_packet TRACE (79): enter decrypt_packet TRACE (79): leave decrypt_packet TRACE (79): leave read_packet TRACE (79): enter process_packet TRACE (79): process_packet: packet type = 98 TRACE (79): enter recv_msg_channel_request TRACE (79): enter chansessionrequest TRACE (79): type is pty-req TRACE (79): enter sessionpty TRACE (79): enter get_termmodes TRACE (79): term mode str 0 p->l 46 p->p 46 TRACE (79): leave get_termmodes: empty terminal modes string TRACE (79): leave sessionpty TRACE (79): enter send_msg_channel_success TRACE (79): enter encrypt_packet() TRACE (79): encrypt_packet type is 99 TRACE (79): enter writemac TRACE (79): leave writemac TRACE (79): enter enqueue TRACmunmap of non-mmaped memory by process 79 (dropbear): 00000018 munmap of non-mmaped memory by process 79 (dropbear): 00000010 E (79): leave enqueue TRACE (79): leamunmap of non-mmaped memory by process 79 (dropbear): b8082ce0 ve encrypt_packet() TRACE (79): leave send_msg_channel_success TRACE (79): leave chansessionrequest TRACE (79): leave recv_msg_channel_request TRACE (79): leave process_packet TRACE (79): check_close: writefd -2, readfd -2, errfd -1, sent_close 0, recv_close 0 TRACE (79): writebuf size 0 extrabuf size 0 TRACE (79): sesscheckclose, pid is -1 TRACE (79): sesscheckclose, pid is -1 TRACE (79): enter write_packet TRACE (79): empty queue dequeing TRACE (79): leave write_packet TRACE (79): enter read_packet TRACE (79): enter decrypt_packet TRACE (79): leave decrypt_packet TRACE (79): leave read_packet TRACE (79): enter process_packet TRACE (79): process_packet: packet type = 98 TRACE (79): enter recv_msg_channel_request TRACE (79): enter chansessionrequest TRACE (79): type is x11-req TRACE (79): setnonblocking: 8 TRACE (79): leave setnonblocking TRACE (79): new listener num 0 TRACE (79): enter send_msg_channel_success TRACE (79): enter encrypt_packet() TRACE (79): encrypt_packet type is 99 TRACE (79): enter writemac TRACE (79): leave writemac TRACE (79): enter enqueue TRACE (79): leave enqueue TRACE (79): leave encrypt_packet() TRACE (79): leave send_msg_channel_success TRACE (79): leave chansessionrequest TRACE (79): leave recv_msg_channel_request TRACE (79): leave process_packet TRACE (79): check_close: writefd -2, readfd -2, errfd -1, sent_close 0, recv_close 0 TRACE (79): writebuf size 0 extrabuf size 0 TRACE (79): sesscheckclose, pid is -1 TRACE (79): sesscheckclose, pid is -1 TRACE (79): enter write_packet TRACE (79): empty queue dequeing TRACE (79): leave write_packet TRACE (79): enter read_packet TRACE (79): enter decrypt_packet TRACE (79): leave decrypt_packet TRACE (79): leave read_packet TRACE (79): enter process_packet TRACE (79): process_packet: packet type = 98 TRACE (79): enter recv_msg_channel_request TRACE (79): enter chansessionrequest TRACE (79): type is shell TRACE (79): enter sessioncommand TRACE (79): enter ptycommand TRACE (80): back to normal sigchld TRACE (79): enter sigchld handler TRACE (79): sigchld handler: pid 80 TRACE (79): using lastexit TRACE (79): leave sigchld handler TRACE (79): continue ptycommand: parent TRACE (79): setnonblocking: 6 TRACE (79): leave setnonblocking TRACE (79): leave ptycommand TRACE (79): enter send_msg_channel_success TRACE (79): enter encrypt_packet() TRACE (79): encrypt_packet type is 99 [79] Jul 07 15:58:55 exit after auth (Administrator): bad buf_incrlen TRACE (79): enter session_cleanup TRACE (79): enter chancleanup TRACE (79): channel 0 closing TRACE (79): enter remove_channel TRACE (79): channel index is 24 TRACE (79): CLOSE writefd 16 TRACE (79): CLOSE readfd 24 TRACE (79): CLOSE errfd 24 TRACE (79): leave remove_channel TRACE (79): leave chancleanup TRACE (79): leave session_cleanup # Steve Spano, President Finger Lakes Engineering -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.ucc.gu.uwa.edu.au/pipermail/dropbear/attachments/20090707/28a9ca46/attachment-0001.htm From matt at ucc.asn.au Wed Jul 8 22:54:24 2009 From: matt at ucc.asn.au (Matt Johnston) Date: Wed, 8 Jul 2009 22:54:24 +0800 Subject: ### Dropbear MMAP problem? In-Reply-To: <00d301c9ff2e$8c1b07d0$1501a8c0@flexeon32> References: <00d301c9ff2e$8c1b07d0$1501a8c0@flexeon32> Message-ID: <20090708145424.GK21341@ucc.gu.uwa.edu.au> I'm pretty sure there are some problems running Dropbear standalone, since that part isn't really vfork safe. Could you try running from an inetd (give it -i argument) and see if that works? Matt On Tue, Jul 07, 2009 at 02:12:53PM -0400, Steve Spano wrote: > Hello, > > I am attempting to get dropbear working on a Xilinx Microblaze system. > I have compiled it and it is excuting, but there seems to be some > buffer/alloc problem of some kind that I am not sure yet how to resolve. > This is an MMU-LESS system and compiled against uCLibc > I can connect, exchange keys, and authenticate my username password > propertly > However, when the terminal session begins, I get an error about un mapping > non-mmaped memory and then a subsequent buffer_incr problem and then an > exit. > > The trace log is below - can anyone offer suggestions? > > Thanks > > > quit > 221 Goodbye > # ./dropbeart -    -F > TRACE (79): enter loadhostkeys > TRACE (79): enter buf_get_priv_key > TRACE (79): enter rsa_key_free > TRACE (79): leave rsa_key_free: key == NULL > TRACE (79): enter buf_get_rsa_priv_key > TRACE (79): enter buf_get_rsa_pub_key > TRACE (79): leave buf_get_rsa_pub_key: success > TRACE (79): leave buf_get_rsa_priv_key > TRACE (79): leave buf_get_priv_key > TRACE (79): enter buf_get_priv_key > TRACE (79): enter dsa_key_free > TRACE (79): enter dsa_key_free: key == NULL > TRACE (79): enter buf_get_dss_pub_key > TRACE (79): leave buf_get_dss_pub_key: success > TRACE (79): leave buf_get_priv_key > TRACE (79): leave loadhostkeys > TRACE (79): listensockets: 1 to try > > TRACE (79): listening on ':22' > TRACE (79): enter dropbear_listen > TRACE (79): dropbear_listen: all interfaces > TRACE (79): bind(22) failed > TRACE (79): leave dropbear_listen: success, 1 socks bound > [79] Jul 07 15:55:58 Not backgrounding > [79] Jul 07 15:56:13 Child connection from 192.168.1.21:2594 > TRACE (79): enter session_init > TRACE (79): setnonblocking: 3 > TRACE (79): leave setnonblocking > TRACE (79): setnonblocking: 5 > TRACE (79): leave setnonblocking > TRACE (79): kexinitialise() > TRACE (79): leave session_init > TRACE (79): enter ident_readln > TRACE (79): leave ident_readln: return 36 > TRACE (79): remoteident: SSH-2.0-1.84 sshlib: Tunnelier 4.29 > TRACE (79): enter encrypt_packet() > TRACE (79): encrypt_packet type is 20 > TRACE (79): enter writemac > TRACE (79): leave writemac > TRACE (79): enter enqueue > TRACE (79): leave enqueue > TRACE (79): leave encrypt_packet() > TRACE (79): DATAALLOWED=0 > TRACE (79): -> KEXINIT > TRACE (79): enter write_packet > TRACE (79): empty queue dequeing > TRACE (79): leave write_packet > TRACE (79): enter read_packet > TRACE (79): leave read_packet > TRACE (79): maybe_empty_reply_queue - no data allowed > TRACE (79): enter read_packet > TRACE (79): enter decrypt_packet > TRACE (79): leave decrypt_packet > TRACE (79): leave read_packet > TRACE (79): enter process_packet > TRACE (79): process_packet: packet type = 20 > TRACE (79): <- KEXINIT > TRACE (79): enter recv_msg_kexinit > TRACE (79): buf_match_algo: > diffie-hellman-group14-sha1,diffie-hellman-group-exchange-sha1,diffie-hellma > n-group1-sha1 > TRACE (79): kex algo diffie-hellman-group1-sha1 > TRACE (79): buf_match_algo: ssh-rsa,ssh-dss > TRACE (79): hostkey algo ssh-rsa > TRACE (79): buf_match_algo: > aes256-ctr,twofish256-ctr,twofish-ctr,aes128-ctr,twofish128-ctr,blowfish-ctr > ,3des-ctr,cast128-ctr,aes256-cbc,twofish256-cbc,twofish-cbc,aes128-cbc,twofi > sh128-cbc,blowfish-cbc,3des-cbc,arcfour,cast128-cbc > TRACE (79): enc c2s is aes256-ctr > TRACE (79): buf_match_algo: > aes256-ctr,twofish256-ctr,twofish-ctr,aes128-ctr,twofish128-ctr,blowfish-ctr > ,3des-ctr,cast128-ctr,aes256-cbc,twofish256-cbc,twofish-cbc,aes128-cbc,twofi > sh128-cbc,blowfish-cbc,3des-cbc,arcfour,cast128-cbc > TRACE (79): enc s2c is aes256-ctr > TRACE (79): buf_match_algo: hmac-sha1,hmac-md5,hmac-sha1-96,hmac-md5-96 > TRACE (79): hash c2s is hmac-sha1 > TRACE (79): buf_match_algo: hmac-sha1,hmac-md5,hmac-sha1-96,hmac-md5-96 > TRACE (79): hash s2c is hmac-sha1 > TRACE (79): buf_match_algo: none > TRACE (79): hash c2s is none > TRACE (79): buf_match_algo: none > TRACE (79): hash s2c is none > TRACE (79): leave recv_msg_kexinit > TRACE (79): leave process_packet > TRACE (79): maybe_empty_reply_queue - no data allowed > TRACE (79): enter read_packet > TRACE (79): enter decrypt_packet > TRACE (79): leave decrypt_packet > TRACE (79): leave read_packet > TRACE (79): enter process_packet > TRACE (79): process_packet: packet type = 30 > TRACE (79): enter recv_msg_kexdh_init > TRACE (79): enter send_msg_kexdh_reply > TRACE (79): enter send_msg_kexdh_reply > TRACE (79): enter buf_put_pub_key > TRACE (79): enter buf_put_rsa_pub_key > TRACE (79): enter buf_putmpint > TRACE (79): leave buf_putmpint > TRACE (79): enter buf_putmpint > TRACE (79): leave buf_putmpint > TRACE (79): leave buf_put_rsa_pub_key > TRACE (79): leave buf_put_pub_key > TRACE (79): enter buf_putmpint > TRACE (79): leave buf_putmpint > TRACE (79): enter buf_putmpint > TRACE (79): leave buf_putmpint > TRACE (79): enter buf_putmpint > TRACE (79): leave buf_putmpint > TRACE (79): enter buf_put_pub_key > TRACE (79): enter buf_put_rsa_pub_key > TRACE (79): enter buf_putmpint > TRACE (79): leave buf_putmpint > TRACE (79): enter buf_putmpint > TRACE (79): leave buf_putmpint > TRACE (79): leave buf_put_rsa_pub_key > TRACE (79): leave buf_put_pub_key > TRACE (79): enter buf_putmpint > TRACE (79): leave buf_putmpint > TRACE (79): enter buf_put_rsa_sign > TRACE (79): leave buf_put_rsa_sign > TRACE (79): enter encrypt_packet() > TRACE (79): encrypt_packet type is 31 > TRACE (79): enter writemac > TRACE (79): leave writemac > TRACE (79): enter enqueue > TRACE (79): leave enqueue > TRACE (79): leave encrypt_packet() > TRACE (79): leave send_msg_kexdh_reply > TRACE (79): enter send_msg_newkeys > TRACE (79): enter encrypt_packet() > TRACE (79): encrypt_packet type is 21 > TRACE (79): enter writemac > TRACE (79): leave writemac > TRACE (79): enter enqueue > TRACE (79): leave enqueue > TRACE (79): leave encrypt_packet() > TRACE (79): SENTNEWKEYS=1 > TRACE (79): -> MSG_NEWKEYS > TRACE (79): leave send_msg_newkeys > TRACE (79): leave recv_msg_kexdh_init > TRACE (79): leave process_packet > TRACE (79): maybe_empty_reply_queue - no data allowed > TRACE (79): enter write_packet > TRACE (79): leave write_packet > TRACE (79): enter read_packet > TRACE (79): enter decrypt_packet > TRACE (79): leave decrypt_packet > TRACE (79): leave read_packet > TRACE (79): enter process_packet > TRACE (79): process_packet: packet type = 2 > TRACE (79): leave process_packet > TRACE (79): maybe_empty_reply_queue - no data allowed > TRACE (79): enter write_packet > TRACE (79): empty queue dequeing > TRACE (79): leave write_packet > TRACE (79): enter read_packet > TRACE (79): enter decrypt_packet > TRACE (79): leave decrypt_packet > TRACE (79): leave read_packet > TRACE (79): enter process_packet > TRACE (79): process_packet: packet type = 21 > TRACE (79): <- MSG_NEWKEYS > TRACE (79): enter recv_msg_newkeys > TRACE (79): while SENTNEWKEYS=1 > TRACE (79): enter gen_new_keys > TRACE (79): enter buf_putmpint > TRACE (79): leave buf_putmpint > TRACE (79): leave gen_new_keys > TRACE (79): kexinitialise() > TRACE (79): -> DATAALLOWED=1 > TRACE (79): leave recv_msg_newkeys > TRACE (79): leave process_packet > TRACE (79): enter read_packet > TRACE (79): enter decrypt_packet > TRACE (79): leave decrypt_packet > TRACE (79): leave read_packet > TRACE (79): enter process_packet > TRACE (79): process_packet: packet type = 5 > TRACE (79): enter recv_msg_service_request > TRACE (79): accepting service ssh-userauth > TRACE (79): enter encrypt_packet() > TRACE (79): encrypt_packet type is 6 > TRACE (79): enter writemac > TRACE (79): leave writemac > TRACE (79): enter enqueue > TRACE (79): leave enqueue > TRACE (79): leave encrypt_packet() > TRACE (79): leave recv_msg_service_request: done ssh-userauth > TRACE (79): leave process_packet > TRACE (79): enter write_packet > TRACE (79): empty queue dequeing > TRACE (79): leave write_packet > TRACE (79): enter read_packet > TRACE (79): enter decrypt_packet > TRACE (79): leave decrypt_packet > TRACE (79): leave read_packet > TRACE (79): enter process_packet > TRACE (79): process_packet: packet type = 50 > TRACE (79): enter recv_msg_userauth_request > TRACE (79): recv_msg_userauth_request: 'none' request > TRACE (79): enter send_msg_userauth_failure > TRACE (79): auth fail: methods 6, 'publickey,password' > TRACE (79): enter encrypt_packet() > TRACE (79): encrypt_packet type is 51 > TRACE (79): enter writemac > TRACE (79): leave writemac > TRACE (79): enter enqueue > TRACE (79): leave enqueue > TRACE (79): leave encrypt_packet() > TRACE (79): leave send_msg_userauth_failure > TRACE (79): leave process_packet > TRACE (79): enter write_packet > TRACE (79): empty queue dequeing > TRACE (79): leave write_packet > TRACE (79): enter read_packet > TRACE (79): enter decrypt_packet > TRACE (79): leave decrypt_packet > TRACE (79): leave read_packet > TRACE (79): enter process_packet > TRACE (79): process_packet: packet type = 2 > TRACE (79): leave process_packet > TRACE (79): enter read_packet > TRACE (79): enter decrypt_packet > TRACE (79): leave decrypt_packet > TRACE (79): leave read_packet > TRACE (79): enter process_packet > TRACE (79): process_packet: packet type = 50 > TRACE (79): enter recv_msg_userauth_request > TRACE (79): enter checkusername > TRACE (79): shell is /bin/sh > TRACE (79): test shell is '/bin/sh' > TRACE (79): matching shell > TRACE (79): uid = 0 > TRACE (79): leave checkusername > [79] Jul 07 15:58:54 password auth succeeded for 'Administrator' from > 192.168.1.21:2594 > TRACE (79): enter send_msg_userauth_success > TRACE (79): enter encrypt_packet() > TRACE (79): encrypt_packet type is 52 > TRACE (79): enter writemac > TRACE (79): leave writemac > TRACE (79): enter enqueue > TRACE (79): leave enqueue > TRACE (79): leave encrypt_packet() > TRACE (79): leave send_msg_userauth_success > TRACE (79): leave process_packet > TRACE (79): enter write_packet > TRACE (79): empty queue dequeing > TRACE (79): leave write_packet > TRACE (79): enter read_packet > TRACE (79): enter decrypt_packet > TRACE (79): leave decrypt_packet > TRACE (79): leave read_packet > TRACE (79): enter process_packet > TRACE (79): process_packet: packet type = 2 > TRACE (79): leave process_packet > TRACE (79): enter read_packet > TRACE (79): enter decrypt_packet > TRACE (79): leave decrypt_packet > TRACE (79): leave read_packet > TRACE (79): enter process_packet > TRACE (79): process_packet: packet type = 90 > TRACE (79): enter recv_msg_channel_open > TRACE (79): matched type 'session' > TRACE (79): enter newchannel > TRACE (79): leave newchannel > TRACE (79): enter send_msg_channel_open_confirmation > TRACE (79): enter encrypt_packet() > TRACE (79): encrypt_packet type is 91 > TRACE (79): enter writemac > TRACE (79): leave writemac > TRACE (79): enter enqueue > TRACE (79): leave enqueue > TRACE (79): leave encrypt_packet() > TRACE (79): leave send_msg_channel_open_confirmation > TRACE (79): leave recv_msg_channel_open > TRACE (79): leave process_packet > TRACE (79): check_close: writefd -2, readfd -2, errfd -1, sent_close 0, > recv_close 0 > TRACE (79): writebuf size 0 extrabuf size 0 > TRACE (79): sesscheckclose, pid is -1 > TRACE (79): sesscheckclose, pid is -1 > TRACE (79): enter write_packet > TRACE (79): empty queue dequeing > TRACE (79): leave write_packet > TRACE (79): check_close: writefd -2, readfd -2, errfd -1, sent_close 0, > recv_close 0 > TRACE (79): writebuf size 0 extrabuf size 0 > TRACE (79): sesscheckclose, pid is -1 > TRACE (79): sesscheckclose, pid is -1 > TRACE (79): enter read_packet > TRACE (79): enter decrypt_packet > TRACE (79): leave decrypt_packet > TRACE (79): leave read_packet > TRACE (79): enter process_packet > TRACE (79): process_packet: packet type = 98 > TRACE (79): enter recv_msg_channel_request > TRACE (79): enter chansessionrequest > TRACE (79): type is pty-req > TRACE (79): enter sessionpty > TRACE (79): enter get_termmodes > TRACE (79): term mode str 0 p->l 46 p->p 46 > TRACE (79): leave get_termmodes: empty terminal modes string > TRACE (79): leave sessionpty > TRACE (79): enter send_msg_channel_success > TRACE (79): enter encrypt_packet() > TRACE (79): encrypt_packet type is 99 > TRACE (79): enter writemac > TRACE (79): leave writemac > TRACE (79): enter enqueue > TRACmunmap of non-mmaped memory by process 79 (dropbear): 00000018 > munmap of non-mmaped memory by process 79 (dropbear): 00000010 > E (79): leave enqueue > TRACE (79): leamunmap of non-mmaped memory by process 79 (dropbear): > b8082ce0 > ve encrypt_packet() > TRACE (79): leave send_msg_channel_success > TRACE (79): leave chansessionrequest > TRACE (79): leave recv_msg_channel_request > TRACE (79): leave process_packet > TRACE (79): check_close: writefd -2, readfd -2, errfd -1, sent_close 0, > recv_close 0 > TRACE (79): writebuf size 0 extrabuf size 0 > TRACE (79): sesscheckclose, pid is -1 > TRACE (79): sesscheckclose, pid is -1 > TRACE (79): enter write_packet > TRACE (79): empty queue dequeing > TRACE (79): leave write_packet > TRACE (79): enter read_packet > TRACE (79): enter decrypt_packet > TRACE (79): leave decrypt_packet > TRACE (79): leave read_packet > TRACE (79): enter process_packet > TRACE (79): process_packet: packet type = 98 > TRACE (79): enter recv_msg_channel_request > TRACE (79): enter chansessionrequest > TRACE (79): type is x11-req > TRACE (79): setnonblocking: 8 > TRACE (79): leave setnonblocking > TRACE (79): new listener num 0 > TRACE (79): enter send_msg_channel_success > TRACE (79): enter encrypt_packet() > TRACE (79): encrypt_packet type is 99 > TRACE (79): enter writemac > TRACE (79): leave writemac > TRACE (79): enter enqueue > TRACE (79): leave enqueue > TRACE (79): leave encrypt_packet() > TRACE (79): leave send_msg_channel_success > TRACE (79): leave chansessionrequest > TRACE (79): leave recv_msg_channel_request > TRACE (79): leave process_packet > TRACE (79): check_close: writefd -2, readfd -2, errfd -1, sent_close 0, > recv_close 0 > TRACE (79): writebuf size 0 extrabuf size 0 > TRACE (79): sesscheckclose, pid is -1 > TRACE (79): sesscheckclose, pid is -1 > TRACE (79): enter write_packet > TRACE (79): empty queue dequeing > TRACE (79): leave write_packet > TRACE (79): enter read_packet > TRACE (79): enter decrypt_packet > TRACE (79): leave decrypt_packet > TRACE (79): leave read_packet > TRACE (79): enter process_packet > TRACE (79): process_packet: packet type = 98 > TRACE (79): enter recv_msg_channel_request > TRACE (79): enter chansessionrequest > TRACE (79): type is shell > TRACE (79): enter sessioncommand > TRACE (79): enter ptycommand > TRACE (80): back to normal sigchld > TRACE (79): enter sigchld handler > TRACE (79): sigchld handler: pid 80 > TRACE (79): using lastexit > TRACE (79): leave sigchld handler > TRACE (79): continue ptycommand: parent > TRACE (79): setnonblocking: 6 > TRACE (79): leave setnonblocking > TRACE (79): leave ptycommand > TRACE (79): enter send_msg_channel_success > TRACE (79): enter encrypt_packet() > TRACE (79): encrypt_packet type is 99 > [79] Jul 07 15:58:55 exit after auth (Administrator): bad buf_incrlen > TRACE (79): enter session_cleanup > TRACE (79): enter chancleanup > TRACE (79): channel 0 closing > TRACE (79): enter remove_channel > TRACE (79): channel index is 24 > TRACE (79): CLOSE writefd 16 > TRACE (79): CLOSE readfd 24 > TRACE (79): CLOSE errfd 24 > TRACE (79): leave remove_channel > TRACE (79): leave chancleanup > TRACE (79): leave session_cleanup > # > > > > Steve Spano, President > > Finger Lakes Engineering > > > > From steve at fl-eng.com Wed Jul 8 23:05:20 2009 From: steve at fl-eng.com (Steve Spano) Date: Wed, 8 Jul 2009 11:05:20 -0400 Subject: ### Dropbear MMAP problem? In-Reply-To: <20090708145424.GK21341@ucc.gu.uwa.edu.au> Message-ID: <007801c9ffdd$83eccf80$1501a8c0@flexeon32> Hello! Thanks for the reply Matt! I have dropbear working now, the problem (after several trips through the code) was here in svr-chansession.c //removed by fle because it is causing a problem #if(0) /* We can only change uid/gid as root ... */ if (getuid() == 0) { if ((setgid(ses.authstate.pw_gid) < 0) || (initgroups(ses.authstate.pw_name, ses.authstate.pw_gid) < 0)) { dropbear_exit("error changing user group"); } if (setuid(ses.authstate.pw_uid) < 0) { dropbear_exit("error changing user"); } } else { /* ... but if the daemon is the same uid as the requested uid, we don't * need to */ /* XXX - there is a minor issue here, in that if there are multiple * usernames with the same uid, but differing groups, then the * differing groups won't be set (as with initgroups()). The solution * is for the sysadmin not to give out the UID twice */ if (getuid() != ses.authstate.pw_uid) { dropbear_exit("couldn't change user as non-root"); } } #endif It appers that my system was not able to set the GID, so we bailed out and never issued the shell or started the terminal. When the bail-out occurred, the code improperly exits becaue the child PID was never put into the "pid arrary" (see the notes on the "Race condition" also desecribed around the sesssigchild_handler. Since we use VFORK, and we didn't properly exit the child, the parent stack is messed up and we forget our encryption algorithm, which causes a buffer error, and subsequent program exit. Now, my "fix" was just to IF-out the uid/gid items. Is that bad? What is the intent of the above code? Steve Spano, President Finger Lakes Engineering -----Original Message----- From: Matt Johnston [mailto:matt at ucc.asn.au] Sent: Wednesday, July 08, 2009 10:54 AM To: Steve Spano Cc: dropbear at ucc.asn.au Subject: Re: ### Dropbear MMAP problem? I'm pretty sure there are some problems running Dropbear standalone, since that part isn't really vfork safe. Could you try running from an inetd (give it -i argument) and see if that works? Matt On Tue, Jul 07, 2009 at 02:12:53PM -0400, Steve Spano wrote: > Hello, > > I am attempting to get dropbear working on a Xilinx Microblaze system. > I have compiled it and it is excuting, but there seems to be some > buffer/alloc problem of some kind that I am not sure yet how to > resolve. This is an MMU-LESS system and compiled against uCLibc I can > connect, exchange keys, and authenticate my username password > propertly However, when the terminal session begins, I get an error > about un mapping non-mmaped memory and then a subsequent buffer_incr > problem and then an exit. > > The trace log is below - can anyone offer suggestions? > > Thanks > > > quit > 221 Goodbye > # ./dropbeart -    -F > TRACE (79): enter loadhostkeys > TRACE (79): enter buf_get_priv_key > TRACE (79): enter rsa_key_free > TRACE (79): leave rsa_key_free: key == NULL > TRACE (79): enter buf_get_rsa_priv_key > TRACE (79): enter buf_get_rsa_pub_key > TRACE (79): leave buf_get_rsa_pub_key: success > TRACE (79): leave buf_get_rsa_priv_key > TRACE (79): leave buf_get_priv_key > TRACE (79): enter buf_get_priv_key > TRACE (79): enter dsa_key_free > TRACE (79): enter dsa_key_free: key == NULL > TRACE (79): enter buf_get_dss_pub_key > TRACE (79): leave buf_get_dss_pub_key: success > TRACE (79): leave buf_get_priv_key > TRACE (79): leave loadhostkeys > TRACE (79): listensockets: 1 to try > > TRACE (79): listening on ':22' > TRACE (79): enter dropbear_listen > TRACE (79): dropbear_listen: all interfaces > TRACE (79): bind(22) failed > TRACE (79): leave dropbear_listen: success, 1 socks bound [79] Jul 07 > 15:55:58 Not backgrounding [79] Jul 07 15:56:13 Child connection from > 192.168.1.21:2594 TRACE (79): enter session_init > TRACE (79): setnonblocking: 3 > TRACE (79): leave setnonblocking > TRACE (79): setnonblocking: 5 > TRACE (79): leave setnonblocking > TRACE (79): kexinitialise() > TRACE (79): leave session_init > TRACE (79): enter ident_readln > TRACE (79): leave ident_readln: return 36 > TRACE (79): remoteident: SSH-2.0-1.84 sshlib: Tunnelier 4.29 > TRACE (79): enter encrypt_packet() > TRACE (79): encrypt_packet type is 20 > TRACE (79): enter writemac > TRACE (79): leave writemac > TRACE (79): enter enqueue > TRACE (79): leave enqueue > TRACE (79): leave encrypt_packet() > TRACE (79): DATAALLOWED=0 > TRACE (79): -> KEXINIT > TRACE (79): enter write_packet > TRACE (79): empty queue dequeing > TRACE (79): leave write_packet > TRACE (79): enter read_packet > TRACE (79): leave read_packet > TRACE (79): maybe_empty_reply_queue - no data allowed > TRACE (79): enter read_packet > TRACE (79): enter decrypt_packet > TRACE (79): leave decrypt_packet > TRACE (79): leave read_packet > TRACE (79): enter process_packet > TRACE (79): process_packet: packet type = 20 > TRACE (79): <- KEXINIT > TRACE (79): enter recv_msg_kexinit > TRACE (79): buf_match_algo: > diffie-hellman-group14-sha1,diffie-hellman-group-exchange-sha1,diffie-hellma > n-group1-sha1 > TRACE (79): kex algo diffie-hellman-group1-sha1 > TRACE (79): buf_match_algo: ssh-rsa,ssh-dss > TRACE (79): hostkey algo ssh-rsa > TRACE (79): buf_match_algo: > aes256-ctr,twofish256-ctr,twofish-ctr,aes128-ctr,twofish128-ctr,blowfish-ctr > ,3des-ctr,cast128-ctr,aes256-cbc,twofish256-cbc,twofish-cbc,aes128-cbc,twofi > sh128-cbc,blowfish-cbc,3des-cbc,arcfour,cast128-cbc > TRACE (79): enc c2s is aes256-ctr > TRACE (79): buf_match_algo: > aes256-ctr,twofish256-ctr,twofish-ctr,aes128-ctr,twofish128-ctr,blowfish-ctr > ,3des-ctr,cast128-ctr,aes256-cbc,twofish256-cbc,twofish-cbc,aes128-cbc,twofi > sh128-cbc,blowfish-cbc,3des-cbc,arcfour,cast128-cbc > TRACE (79): enc s2c is aes256-ctr > TRACE (79): buf_match_algo: hmac-sha1,hmac-md5,hmac-sha1-96,hmac-md5-96 > TRACE (79): hash c2s is hmac-sha1 > TRACE (79): buf_match_algo: hmac-sha1,hmac-md5,hmac-sha1-96,hmac-md5-96 > TRACE (79): hash s2c is hmac-sha1 > TRACE (79): buf_match_algo: none > TRACE (79): hash c2s is none > TRACE (79): buf_match_algo: none > TRACE (79): hash s2c is none > TRACE (79): leave recv_msg_kexinit > TRACE (79): leave process_packet > TRACE (79): maybe_empty_reply_queue - no data allowed > TRACE (79): enter read_packet > TRACE (79): enter decrypt_packet > TRACE (79): leave decrypt_packet > TRACE (79): leave read_packet > TRACE (79): enter process_packet > TRACE (79): process_packet: packet type = 30 > TRACE (79): enter recv_msg_kexdh_init > TRACE (79): enter send_msg_kexdh_reply > TRACE (79): enter send_msg_kexdh_reply > TRACE (79): enter buf_put_pub_key > TRACE (79): enter buf_put_rsa_pub_key > TRACE (79): enter buf_putmpint > TRACE (79): leave buf_putmpint > TRACE (79): enter buf_putmpint > TRACE (79): leave buf_putmpint > TRACE (79): leave buf_put_rsa_pub_key > TRACE (79): leave buf_put_pub_key > TRACE (79): enter buf_putmpint > TRACE (79): leave buf_putmpint > TRACE (79): enter buf_putmpint > TRACE (79): leave buf_putmpint > TRACE (79): enter buf_putmpint > TRACE (79): leave buf_putmpint > TRACE (79): enter buf_put_pub_key > TRACE (79): enter buf_put_rsa_pub_key > TRACE (79): enter buf_putmpint > TRACE (79): leave buf_putmpint > TRACE (79): enter buf_putmpint > TRACE (79): leave buf_putmpint > TRACE (79): leave buf_put_rsa_pub_key > TRACE (79): leave buf_put_pub_key > TRACE (79): enter buf_putmpint > TRACE (79): leave buf_putmpint > TRACE (79): enter buf_put_rsa_sign > TRACE (79): leave buf_put_rsa_sign > TRACE (79): enter encrypt_packet() > TRACE (79): encrypt_packet type is 31 > TRACE (79): enter writemac > TRACE (79): leave writemac > TRACE (79): enter enqueue > TRACE (79): leave enqueue > TRACE (79): leave encrypt_packet() > TRACE (79): leave send_msg_kexdh_reply > TRACE (79): enter send_msg_newkeys > TRACE (79): enter encrypt_packet() > TRACE (79): encrypt_packet type is 21 > TRACE (79): enter writemac > TRACE (79): leave writemac > TRACE (79): enter enqueue > TRACE (79): leave enqueue > TRACE (79): leave encrypt_packet() > TRACE (79): SENTNEWKEYS=1 > TRACE (79): -> MSG_NEWKEYS > TRACE (79): leave send_msg_newkeys > TRACE (79): leave recv_msg_kexdh_init > TRACE (79): leave process_packet > TRACE (79): maybe_empty_reply_queue - no data allowed > TRACE (79): enter write_packet > TRACE (79): leave write_packet > TRACE (79): enter read_packet > TRACE (79): enter decrypt_packet > TRACE (79): leave decrypt_packet > TRACE (79): leave read_packet > TRACE (79): enter process_packet > TRACE (79): process_packet: packet type = 2 > TRACE (79): leave process_packet > TRACE (79): maybe_empty_reply_queue - no data allowed > TRACE (79): enter write_packet > TRACE (79): empty queue dequeing > TRACE (79): leave write_packet > TRACE (79): enter read_packet > TRACE (79): enter decrypt_packet > TRACE (79): leave decrypt_packet > TRACE (79): leave read_packet > TRACE (79): enter process_packet > TRACE (79): process_packet: packet type = 21 > TRACE (79): <- MSG_NEWKEYS > TRACE (79): enter recv_msg_newkeys > TRACE (79): while SENTNEWKEYS=1 > TRACE (79): enter gen_new_keys > TRACE (79): enter buf_putmpint > TRACE (79): leave buf_putmpint > TRACE (79): leave gen_new_keys > TRACE (79): kexinitialise() > TRACE (79): -> DATAALLOWED=1 > TRACE (79): leave recv_msg_newkeys > TRACE (79): leave process_packet > TRACE (79): enter read_packet > TRACE (79): enter decrypt_packet > TRACE (79): leave decrypt_packet > TRACE (79): leave read_packet > TRACE (79): enter process_packet > TRACE (79): process_packet: packet type = 5 > TRACE (79): enter recv_msg_service_request > TRACE (79): accepting service ssh-userauth > TRACE (79): enter encrypt_packet() > TRACE (79): encrypt_packet type is 6 > TRACE (79): enter writemac > TRACE (79): leave writemac > TRACE (79): enter enqueue > TRACE (79): leave enqueue > TRACE (79): leave encrypt_packet() > TRACE (79): leave recv_msg_service_request: done ssh-userauth > TRACE (79): leave process_packet > TRACE (79): enter write_packet > TRACE (79): empty queue dequeing > TRACE (79): leave write_packet > TRACE (79): enter read_packet > TRACE (79): enter decrypt_packet > TRACE (79): leave decrypt_packet > TRACE (79): leave read_packet > TRACE (79): enter process_packet > TRACE (79): process_packet: packet type = 50 > TRACE (79): enter recv_msg_userauth_request > TRACE (79): recv_msg_userauth_request: 'none' request > TRACE (79): enter send_msg_userauth_failure > TRACE (79): auth fail: methods 6, 'publickey,password' > TRACE (79): enter encrypt_packet() > TRACE (79): encrypt_packet type is 51 > TRACE (79): enter writemac > TRACE (79): leave writemac > TRACE (79): enter enqueue > TRACE (79): leave enqueue > TRACE (79): leave encrypt_packet() > TRACE (79): leave send_msg_userauth_failure > TRACE (79): leave process_packet > TRACE (79): enter write_packet > TRACE (79): empty queue dequeing > TRACE (79): leave write_packet > TRACE (79): enter read_packet > TRACE (79): enter decrypt_packet > TRACE (79): leave decrypt_packet > TRACE (79): leave read_packet > TRACE (79): enter process_packet > TRACE (79): process_packet: packet type = 2 > TRACE (79): leave process_packet > TRACE (79): enter read_packet > TRACE (79): enter decrypt_packet > TRACE (79): leave decrypt_packet > TRACE (79): leave read_packet > TRACE (79): enter process_packet > TRACE (79): process_packet: packet type = 50 > TRACE (79): enter recv_msg_userauth_request > TRACE (79): enter checkusername > TRACE (79): shell is /bin/sh > TRACE (79): test shell is '/bin/sh' > TRACE (79): matching shell > TRACE (79): uid = 0 > TRACE (79): leave checkusername > [79] Jul 07 15:58:54 password auth succeeded for 'Administrator' from > 192.168.1.21:2594 > TRACE (79): enter send_msg_userauth_success > TRACE (79): enter encrypt_packet() > TRACE (79): encrypt_packet type is 52 > TRACE (79): enter writemac > TRACE (79): leave writemac > TRACE (79): enter enqueue > TRACE (79): leave enqueue > TRACE (79): leave encrypt_packet() > TRACE (79): leave send_msg_userauth_success > TRACE (79): leave process_packet > TRACE (79): enter write_packet > TRACE (79): empty queue dequeing > TRACE (79): leave write_packet > TRACE (79): enter read_packet > TRACE (79): enter decrypt_packet > TRACE (79): leave decrypt_packet > TRACE (79): leave read_packet > TRACE (79): enter process_packet > TRACE (79): process_packet: packet type = 2 > TRACE (79): leave process_packet > TRACE (79): enter read_packet > TRACE (79): enter decrypt_packet > TRACE (79): leave decrypt_packet > TRACE (79): leave read_packet > TRACE (79): enter process_packet > TRACE (79): process_packet: packet type = 90 > TRACE (79): enter recv_msg_channel_open > TRACE (79): matched type 'session' > TRACE (79): enter newchannel > TRACE (79): leave newchannel > TRACE (79): enter send_msg_channel_open_confirmation > TRACE (79): enter encrypt_packet() > TRACE (79): encrypt_packet type is 91 > TRACE (79): enter writemac > TRACE (79): leave writemac > TRACE (79): enter enqueue > TRACE (79): leave enqueue > TRACE (79): leave encrypt_packet() > TRACE (79): leave send_msg_channel_open_confirmation > TRACE (79): leave recv_msg_channel_open > TRACE (79): leave process_packet > TRACE (79): check_close: writefd -2, readfd -2, errfd -1, sent_close 0, > recv_close 0 > TRACE (79): writebuf size 0 extrabuf size 0 > TRACE (79): sesscheckclose, pid is -1 > TRACE (79): sesscheckclose, pid is -1 > TRACE (79): enter write_packet > TRACE (79): empty queue dequeing > TRACE (79): leave write_packet > TRACE (79): check_close: writefd -2, readfd -2, errfd -1, sent_close 0, > recv_close 0 > TRACE (79): writebuf size 0 extrabuf size 0 > TRACE (79): sesscheckclose, pid is -1 > TRACE (79): sesscheckclose, pid is -1 > TRACE (79): enter read_packet > TRACE (79): enter decrypt_packet > TRACE (79): leave decrypt_packet > TRACE (79): leave read_packet > TRACE (79): enter process_packet > TRACE (79): process_packet: packet type = 98 > TRACE (79): enter recv_msg_channel_request > TRACE (79): enter chansessionrequest > TRACE (79): type is pty-req > TRACE (79): enter sessionpty > TRACE (79): enter get_termmodes > TRACE (79): term mode str 0 p->l 46 p->p 46 > TRACE (79): leave get_termmodes: empty terminal modes string > TRACE (79): leave sessionpty > TRACE (79): enter send_msg_channel_success > TRACE (79): enter encrypt_packet() > TRACE (79): encrypt_packet type is 99 > TRACE (79): enter writemac > TRACE (79): leave writemac > TRACE (79): enter enqueue > TRACmunmap of non-mmaped memory by process 79 (dropbear): 00000018 > munmap of non-mmaped memory by process 79 (dropbear): 00000010 > E (79): leave enqueue > TRACE (79): leamunmap of non-mmaped memory by process 79 (dropbear): > b8082ce0 > ve encrypt_packet() > TRACE (79): leave send_msg_channel_success > TRACE (79): leave chansessionrequest > TRACE (79): leave recv_msg_channel_request > TRACE (79): leave process_packet > TRACE (79): check_close: writefd -2, readfd -2, errfd -1, sent_close 0, > recv_close 0 > TRACE (79): writebuf size 0 extrabuf size 0 > TRACE (79): sesscheckclose, pid is -1 > TRACE (79): sesscheckclose, pid is -1 > TRACE (79): enter write_packet > TRACE (79): empty queue dequeing > TRACE (79): leave write_packet > TRACE (79): enter read_packet > TRACE (79): enter decrypt_packet > TRACE (79): leave decrypt_packet > TRACE (79): leave read_packet > TRACE (79): enter process_packet > TRACE (79): process_packet: packet type = 98 > TRACE (79): enter recv_msg_channel_request > TRACE (79): enter chansessionrequest > TRACE (79): type is x11-req > TRACE (79): setnonblocking: 8 > TRACE (79): leave setnonblocking > TRACE (79): new listener num 0 > TRACE (79): enter send_msg_channel_success > TRACE (79): enter encrypt_packet() > TRACE (79): encrypt_packet type is 99 > TRACE (79): enter writemac > TRACE (79): leave writemac > TRACE (79): enter enqueue > TRACE (79): leave enqueue > TRACE (79): leave encrypt_packet() > TRACE (79): leave send_msg_channel_success > TRACE (79): leave chansessionrequest > TRACE (79): leave recv_msg_channel_request > TRACE (79): leave process_packet > TRACE (79): check_close: writefd -2, readfd -2, errfd -1, sent_close 0, > recv_close 0 > TRACE (79): writebuf size 0 extrabuf size 0 > TRACE (79): sesscheckclose, pid is -1 > TRACE (79): sesscheckclose, pid is -1 > TRACE (79): enter write_packet > TRACE (79): empty queue dequeing > TRACE (79): leave write_packet > TRACE (79): enter read_packet > TRACE (79): enter decrypt_packet > TRACE (79): leave decrypt_packet > TRACE (79): leave read_packet > TRACE (79): enter process_packet > TRACE (79): process_packet: packet type = 98 > TRACE (79): enter recv_msg_channel_request > TRACE (79): enter chansessionrequest > TRACE (79): type is shell > TRACE (79): enter sessioncommand > TRACE (79): enter ptycommand > TRACE (80): back to normal sigchld > TRACE (79): enter sigchld handler > TRACE (79): sigchld handler: pid 80 > TRACE (79): using lastexit > TRACE (79): leave sigchld handler > TRACE (79): continue ptycommand: parent > TRACE (79): setnonblocking: 6 > TRACE (79): leave setnonblocking > TRACE (79): leave ptycommand > TRACE (79): enter send_msg_channel_success > TRACE (79): enter encrypt_packet() > TRACE (79): encrypt_packet type is 99 > [79] Jul 07 15:58:55 exit after auth (Administrator): bad buf_incrlen > TRACE (79): enter session_cleanup > TRACE (79): enter chancleanup > TRACE (79): channel 0 closing > TRACE (79): enter remove_channel > TRACE (79): channel index is 24 > TRACE (79): CLOSE writefd 16 > TRACE (79): CLOSE readfd 24 > TRACE (79): CLOSE errfd 24 > TRACE (79): leave remove_channel > TRACE (79): leave chancleanup > TRACE (79): leave session_cleanup > # > > > > Steve Spano, President > > Finger Lakes Engineering > > > > Checked by AVG - www.avg.com Version: 8.5.387 / Virus Database: 270.13.8/2224 - Release Date: 07/08/09 05:53:00 From matt at ucc.asn.au Wed Jul 8 23:52:28 2009 From: matt at ucc.asn.au (Matt Johnston) Date: Wed, 8 Jul 2009 23:52:28 +0800 Subject: ### Dropbear MMAP problem? In-Reply-To: <007801c9ffdd$83eccf80$1501a8c0@flexeon32> References: <20090708145424.GK21341@ucc.gu.uwa.edu.au> <007801c9ffdd$83eccf80$1501a8c0@flexeon32> Message-ID: <20090708155228.GP21341@ucc.gu.uwa.edu.au> Ah right. That code block is what switches from the root user (which Dropbear runs as) to the uid of whichever user they have logged in as. If the only user logging in is root, you could remove the "if (getuid() == 0)" block and just leave the check that the login uid matches the running user. I assume the bit that crashes on exit is the call to common_session_cleanup() via svr_dropbear_exit(). I've attached a patch that will only run the cleanup for the main server process - does that look OK? Cheers, Matt On Wed, Jul 08, 2009 at 11:05:20AM -0400, Steve Spano wrote: > Hello! > > Thanks for the reply Matt! I have dropbear working now, the problem (after > several trips through the code) was here in svr-chansession.c > > //removed by fle because it is causing a problem > #if(0) > /* We can only change uid/gid as root ... */ > if (getuid() == 0) { > > if ((setgid(ses.authstate.pw_gid) < 0) || > (initgroups(ses.authstate.pw_name, > ses.authstate.pw_gid) < 0)) > { > dropbear_exit("error changing user group"); > } > if (setuid(ses.authstate.pw_uid) < 0) { > dropbear_exit("error changing user"); > } > } else { > /* ... but if the daemon is the same uid as the requested > uid, we don't > * need to */ > > /* XXX - there is a minor issue here, in that if there are > multiple > * usernames with the same uid, but differing groups, then > the > * differing groups won't be set (as with initgroups()). The > solution > * is for the sysadmin not to give out the UID twice */ > if (getuid() != ses.authstate.pw_uid) { > dropbear_exit("couldn't change user as non-root"); > } > } > #endif > > It appers that my system was not able to set the GID, so we bailed out and > never issued the shell or started the terminal. > When the bail-out occurred, the code improperly exits becaue the child PID > was never put into the "pid arrary" (see the notes on the "Race condition" > also desecribed around the sesssigchild_handler. > Since we use VFORK, and we didn't properly exit the child, the parent stack > is messed up and we forget our encryption algorithm, which causes a buffer > error, and subsequent program exit. > > Now, my "fix" was just to IF-out the uid/gid items. > Is that bad? What is the intent of the above code? > > Steve Spano, President > Finger Lakes Engineering > > > > -----Original Message----- > From: Matt Johnston [mailto:matt at ucc.asn.au] > Sent: Wednesday, July 08, 2009 10:54 AM > To: Steve Spano > Cc: dropbear at ucc.asn.au > Subject: Re: ### Dropbear MMAP problem? > > > I'm pretty sure there are some problems running Dropbear standalone, since > that part isn't really vfork safe. Could you try running from an inetd (give > it -i argument) and see if that works? > > Matt > > On Tue, Jul 07, 2009 at 02:12:53PM -0400, Steve Spano wrote: > > Hello, > > > > I am attempting to get dropbear working on a Xilinx Microblaze system. > > I have compiled it and it is excuting, but there seems to be some > > buffer/alloc problem of some kind that I am not sure yet how to > > resolve. This is an MMU-LESS system and compiled against uCLibc I can > > connect, exchange keys, and authenticate my username password > > propertly However, when the terminal session begins, I get an error > > about un mapping non-mmaped memory and then a subsequent buffer_incr > > problem and then an exit. > > > > The trace log is below - can anyone offer suggestions? > > > > Thanks > > > > > > quit > > 221 Goodbye > > # ./dropbeart -    -F > > TRACE (79): enter loadhostkeys > > TRACE (79): enter buf_get_priv_key > > TRACE (79): enter rsa_key_free > > TRACE (79): leave rsa_key_free: key == NULL > > TRACE (79): enter buf_get_rsa_priv_key > > TRACE (79): enter buf_get_rsa_pub_key > > TRACE (79): leave buf_get_rsa_pub_key: success > > TRACE (79): leave buf_get_rsa_priv_key > > TRACE (79): leave buf_get_priv_key > > TRACE (79): enter buf_get_priv_key > > TRACE (79): enter dsa_key_free > > TRACE (79): enter dsa_key_free: key == NULL > > TRACE (79): enter buf_get_dss_pub_key > > TRACE (79): leave buf_get_dss_pub_key: success > > TRACE (79): leave buf_get_priv_key > > TRACE (79): leave loadhostkeys > > TRACE (79): listensockets: 1 to try > > > > TRACE (79): listening on ':22' > > TRACE (79): enter dropbear_listen > > TRACE (79): dropbear_listen: all interfaces > > TRACE (79): bind(22) failed > > TRACE (79): leave dropbear_listen: success, 1 socks bound [79] Jul 07 > > 15:55:58 Not backgrounding [79] Jul 07 15:56:13 Child connection from > > 192.168.1.21:2594 TRACE (79): enter session_init > > TRACE (79): setnonblocking: 3 > > TRACE (79): leave setnonblocking > > TRACE (79): setnonblocking: 5 > > TRACE (79): leave setnonblocking > > TRACE (79): kexinitialise() > > TRACE (79): leave session_init > > TRACE (79): enter ident_readln > > TRACE (79): leave ident_readln: return 36 > > TRACE (79): remoteident: SSH-2.0-1.84 sshlib: Tunnelier 4.29 > > TRACE (79): enter encrypt_packet() > > TRACE (79): encrypt_packet type is 20 > > TRACE (79): enter writemac > > TRACE (79): leave writemac > > TRACE (79): enter enqueue > > TRACE (79): leave enqueue > > TRACE (79): leave encrypt_packet() > > TRACE (79): DATAALLOWED=0 > > TRACE (79): -> KEXINIT > > TRACE (79): enter write_packet > > TRACE (79): empty queue dequeing > > TRACE (79): leave write_packet > > TRACE (79): enter read_packet > > TRACE (79): leave read_packet > > TRACE (79): maybe_empty_reply_queue - no data allowed > > TRACE (79): enter read_packet > > TRACE (79): enter decrypt_packet > > TRACE (79): leave decrypt_packet > > TRACE (79): leave read_packet > > TRACE (79): enter process_packet > > TRACE (79): process_packet: packet type = 20 > > TRACE (79): <- KEXINIT > > TRACE (79): enter recv_msg_kexinit > > TRACE (79): buf_match_algo: > > > diffie-hellman-group14-sha1,diffie-hellman-group-exchange-sha1,diffie-hellma > > n-group1-sha1 > > TRACE (79): kex algo diffie-hellman-group1-sha1 > > TRACE (79): buf_match_algo: ssh-rsa,ssh-dss > > TRACE (79): hostkey algo ssh-rsa > > TRACE (79): buf_match_algo: > > > aes256-ctr,twofish256-ctr,twofish-ctr,aes128-ctr,twofish128-ctr,blowfish-ctr > > > ,3des-ctr,cast128-ctr,aes256-cbc,twofish256-cbc,twofish-cbc,aes128-cbc,twofi > > sh128-cbc,blowfish-cbc,3des-cbc,arcfour,cast128-cbc > > TRACE (79): enc c2s is aes256-ctr > > TRACE (79): buf_match_algo: > > > aes256-ctr,twofish256-ctr,twofish-ctr,aes128-ctr,twofish128-ctr,blowfish-ctr > > > ,3des-ctr,cast128-ctr,aes256-cbc,twofish256-cbc,twofish-cbc,aes128-cbc,twofi > > sh128-cbc,blowfish-cbc,3des-cbc,arcfour,cast128-cbc > > TRACE (79): enc s2c is aes256-ctr > > TRACE (79): buf_match_algo: hmac-sha1,hmac-md5,hmac-sha1-96,hmac-md5-96 > > TRACE (79): hash c2s is hmac-sha1 > > TRACE (79): buf_match_algo: hmac-sha1,hmac-md5,hmac-sha1-96,hmac-md5-96 > > TRACE (79): hash s2c is hmac-sha1 > > TRACE (79): buf_match_algo: none > > TRACE (79): hash c2s is none > > TRACE (79): buf_match_algo: none > > TRACE (79): hash s2c is none > > TRACE (79): leave recv_msg_kexinit > > TRACE (79): leave process_packet > > TRACE (79): maybe_empty_reply_queue - no data allowed > > TRACE (79): enter read_packet > > TRACE (79): enter decrypt_packet > > TRACE (79): leave decrypt_packet > > TRACE (79): leave read_packet > > TRACE (79): enter process_packet > > TRACE (79): process_packet: packet type = 30 > > TRACE (79): enter recv_msg_kexdh_init > > TRACE (79): enter send_msg_kexdh_reply > > TRACE (79): enter send_msg_kexdh_reply > > TRACE (79): enter buf_put_pub_key > > TRACE (79): enter buf_put_rsa_pub_key > > TRACE (79): enter buf_putmpint > > TRACE (79): leave buf_putmpint > > TRACE (79): enter buf_putmpint > > TRACE (79): leave buf_putmpint > > TRACE (79): leave buf_put_rsa_pub_key > > TRACE (79): leave buf_put_pub_key > > TRACE (79): enter buf_putmpint > > TRACE (79): leave buf_putmpint > > TRACE (79): enter buf_putmpint > > TRACE (79): leave buf_putmpint > > TRACE (79): enter buf_putmpint > > TRACE (79): leave buf_putmpint > > TRACE (79): enter buf_put_pub_key > > TRACE (79): enter buf_put_rsa_pub_key > > TRACE (79): enter buf_putmpint > > TRACE (79): leave buf_putmpint > > TRACE (79): enter buf_putmpint > > TRACE (79): leave buf_putmpint > > TRACE (79): leave buf_put_rsa_pub_key > > TRACE (79): leave buf_put_pub_key > > TRACE (79): enter buf_putmpint > > TRACE (79): leave buf_putmpint > > TRACE (79): enter buf_put_rsa_sign > > TRACE (79): leave buf_put_rsa_sign > > TRACE (79): enter encrypt_packet() > > TRACE (79): encrypt_packet type is 31 > > TRACE (79): enter writemac > > TRACE (79): leave writemac > > TRACE (79): enter enqueue > > TRACE (79): leave enqueue > > TRACE (79): leave encrypt_packet() > > TRACE (79): leave send_msg_kexdh_reply > > TRACE (79): enter send_msg_newkeys > > TRACE (79): enter encrypt_packet() > > TRACE (79): encrypt_packet type is 21 > > TRACE (79): enter writemac > > TRACE (79): leave writemac > > TRACE (79): enter enqueue > > TRACE (79): leave enqueue > > TRACE (79): leave encrypt_packet() > > TRACE (79): SENTNEWKEYS=1 > > TRACE (79): -> MSG_NEWKEYS > > TRACE (79): leave send_msg_newkeys > > TRACE (79): leave recv_msg_kexdh_init > > TRACE (79): leave process_packet > > TRACE (79): maybe_empty_reply_queue - no data allowed > > TRACE (79): enter write_packet > > TRACE (79): leave write_packet > > TRACE (79): enter read_packet > > TRACE (79): enter decrypt_packet > > TRACE (79): leave decrypt_packet > > TRACE (79): leave read_packet > > TRACE (79): enter process_packet > > TRACE (79): process_packet: packet type = 2 > > TRACE (79): leave process_packet > > TRACE (79): maybe_empty_reply_queue - no data allowed > > TRACE (79): enter write_packet > > TRACE (79): empty queue dequeing > > TRACE (79): leave write_packet > > TRACE (79): enter read_packet > > TRACE (79): enter decrypt_packet > > TRACE (79): leave decrypt_packet > > TRACE (79): leave read_packet > > TRACE (79): enter process_packet > > TRACE (79): process_packet: packet type = 21 > > TRACE (79): <- MSG_NEWKEYS > > TRACE (79): enter recv_msg_newkeys > > TRACE (79): while SENTNEWKEYS=1 > > TRACE (79): enter gen_new_keys > > TRACE (79): enter buf_putmpint > > TRACE (79): leave buf_putmpint > > TRACE (79): leave gen_new_keys > > TRACE (79): kexinitialise() > > TRACE (79): -> DATAALLOWED=1 > > TRACE (79): leave recv_msg_newkeys > > TRACE (79): leave process_packet > > TRACE (79): enter read_packet > > TRACE (79): enter decrypt_packet > > TRACE (79): leave decrypt_packet > > TRACE (79): leave read_packet > > TRACE (79): enter process_packet > > TRACE (79): process_packet: packet type = 5 > > TRACE (79): enter recv_msg_service_request > > TRACE (79): accepting service ssh-userauth > > TRACE (79): enter encrypt_packet() > > TRACE (79): encrypt_packet type is 6 > > TRACE (79): enter writemac > > TRACE (79): leave writemac > > TRACE (79): enter enqueue > > TRACE (79): leave enqueue > > TRACE (79): leave encrypt_packet() > > TRACE (79): leave recv_msg_service_request: done ssh-userauth > > TRACE (79): leave process_packet > > TRACE (79): enter write_packet > > TRACE (79): empty queue dequeing > > TRACE (79): leave write_packet > > TRACE (79): enter read_packet > > TRACE (79): enter decrypt_packet > > TRACE (79): leave decrypt_packet > > TRACE (79): leave read_packet > > TRACE (79): enter process_packet > > TRACE (79): process_packet: packet type = 50 > > TRACE (79): enter recv_msg_userauth_request > > TRACE (79): recv_msg_userauth_request: 'none' request > > TRACE (79): enter send_msg_userauth_failure > > TRACE (79): auth fail: methods 6, 'publickey,password' > > TRACE (79): enter encrypt_packet() > > TRACE (79): encrypt_packet type is 51 > > TRACE (79): enter writemac > > TRACE (79): leave writemac > > TRACE (79): enter enqueue > > TRACE (79): leave enqueue > > TRACE (79): leave encrypt_packet() > > TRACE (79): leave send_msg_userauth_failure > > TRACE (79): leave process_packet > > TRACE (79): enter write_packet > > TRACE (79): empty queue dequeing > > TRACE (79): leave write_packet > > TRACE (79): enter read_packet > > TRACE (79): enter decrypt_packet > > TRACE (79): leave decrypt_packet > > TRACE (79): leave read_packet > > TRACE (79): enter process_packet > > TRACE (79): process_packet: packet type = 2 > > TRACE (79): leave process_packet > > TRACE (79): enter read_packet > > TRACE (79): enter decrypt_packet > > TRACE (79): leave decrypt_packet > > TRACE (79): leave read_packet > > TRACE (79): enter process_packet > > TRACE (79): process_packet: packet type = 50 > > TRACE (79): enter recv_msg_userauth_request > > TRACE (79): enter checkusername > > TRACE (79): shell is /bin/sh > > TRACE (79): test shell is '/bin/sh' > > TRACE (79): matching shell > > TRACE (79): uid = 0 > > TRACE (79): leave checkusername > > [79] Jul 07 15:58:54 password auth succeeded for 'Administrator' from > > 192.168.1.21:2594 > > TRACE (79): enter send_msg_userauth_success > > TRACE (79): enter encrypt_packet() > > TRACE (79): encrypt_packet type is 52 > > TRACE (79): enter writemac > > TRACE (79): leave writemac > > TRACE (79): enter enqueue > > TRACE (79): leave enqueue > > TRACE (79): leave encrypt_packet() > > TRACE (79): leave send_msg_userauth_success > > TRACE (79): leave process_packet > > TRACE (79): enter write_packet > > TRACE (79): empty queue dequeing > > TRACE (79): leave write_packet > > TRACE (79): enter read_packet > > TRACE (79): enter decrypt_packet > > TRACE (79): leave decrypt_packet > > TRACE (79): leave read_packet > > TRACE (79): enter process_packet > > TRACE (79): process_packet: packet type = 2 > > TRACE (79): leave process_packet > > TRACE (79): enter read_packet > > TRACE (79): enter decrypt_packet > > TRACE (79): leave decrypt_packet > > TRACE (79): leave read_packet > > TRACE (79): enter process_packet > > TRACE (79): process_packet: packet type = 90 > > TRACE (79): enter recv_msg_channel_open > > TRACE (79): matched type 'session' > > TRACE (79): enter newchannel > > TRACE (79): leave newchannel > > TRACE (79): enter send_msg_channel_open_confirmation > > TRACE (79): enter encrypt_packet() > > TRACE (79): encrypt_packet type is 91 > > TRACE (79): enter writemac > > TRACE (79): leave writemac > > TRACE (79): enter enqueue > > TRACE (79): leave enqueue > > TRACE (79): leave encrypt_packet() > > TRACE (79): leave send_msg_channel_open_confirmation > > TRACE (79): leave recv_msg_channel_open > > TRACE (79): leave process_packet > > TRACE (79): check_close: writefd -2, readfd -2, errfd -1, sent_close 0, > > recv_close 0 > > TRACE (79): writebuf size 0 extrabuf size 0 > > TRACE (79): sesscheckclose, pid is -1 > > TRACE (79): sesscheckclose, pid is -1 > > TRACE (79): enter write_packet > > TRACE (79): empty queue dequeing > > TRACE (79): leave write_packet > > TRACE (79): check_close: writefd -2, readfd -2, errfd -1, sent_close 0, > > recv_close 0 > > TRACE (79): writebuf size 0 extrabuf size 0 > > TRACE (79): sesscheckclose, pid is -1 > > TRACE (79): sesscheckclose, pid is -1 > > TRACE (79): enter read_packet > > TRACE (79): enter decrypt_packet > > TRACE (79): leave decrypt_packet > > TRACE (79): leave read_packet > > TRACE (79): enter process_packet > > TRACE (79): process_packet: packet type = 98 > > TRACE (79): enter recv_msg_channel_request > > TRACE (79): enter chansessionrequest > > TRACE (79): type is pty-req > > TRACE (79): enter sessionpty > > TRACE (79): enter get_termmodes > > TRACE (79): term mode str 0 p->l 46 p->p 46 > > TRACE (79): leave get_termmodes: empty terminal modes string > > TRACE (79): leave sessionpty > > TRACE (79): enter send_msg_channel_success > > TRACE (79): enter encrypt_packet() > > TRACE (79): encrypt_packet type is 99 > > TRACE (79): enter writemac > > TRACE (79): leave writemac > > TRACE (79): enter enqueue > > TRACmunmap of non-mmaped memory by process 79 (dropbear): 00000018 > > munmap of non-mmaped memory by process 79 (dropbear): 00000010 > > E (79): leave enqueue > > TRACE (79): leamunmap of non-mmaped memory by process 79 (dropbear): > > b8082ce0 > > ve encrypt_packet() > > TRACE (79): leave send_msg_channel_success > > TRACE (79): leave chansessionrequest > > TRACE (79): leave recv_msg_channel_request > > TRACE (79): leave process_packet > > TRACE (79): check_close: writefd -2, readfd -2, errfd -1, sent_close 0, > > recv_close 0 > > TRACE (79): writebuf size 0 extrabuf size 0 > > TRACE (79): sesscheckclose, pid is -1 > > TRACE (79): sesscheckclose, pid is -1 > > TRACE (79): enter write_packet > > TRACE (79): empty queue dequeing > > TRACE (79): leave write_packet > > TRACE (79): enter read_packet > > TRACE (79): enter decrypt_packet > > TRACE (79): leave decrypt_packet > > TRACE (79): leave read_packet > > TRACE (79): enter process_packet > > TRACE (79): process_packet: packet type = 98 > > TRACE (79): enter recv_msg_channel_request > > TRACE (79): enter chansessionrequest > > TRACE (79): type is x11-req > > TRACE (79): setnonblocking: 8 > > TRACE (79): leave setnonblocking > > TRACE (79): new listener num 0 > > TRACE (79): enter send_msg_channel_success > > TRACE (79): enter encrypt_packet() > > TRACE (79): encrypt_packet type is 99 > > TRACE (79): enter writemac > > TRACE (79): leave writemac > > TRACE (79): enter enqueue > > TRACE (79): leave enqueue > > TRACE (79): leave encrypt_packet() > > TRACE (79): leave send_msg_channel_success > > TRACE (79): leave chansessionrequest > > TRACE (79): leave recv_msg_channel_request > > TRACE (79): leave process_packet > > TRACE (79): check_close: writefd -2, readfd -2, errfd -1, sent_close 0, > > recv_close 0 > > TRACE (79): writebuf size 0 extrabuf size 0 > > TRACE (79): sesscheckclose, pid is -1 > > TRACE (79): sesscheckclose, pid is -1 > > TRACE (79): enter write_packet > > TRACE (79): empty queue dequeing > > TRACE (79): leave write_packet > > TRACE (79): enter read_packet > > TRACE (79): enter decrypt_packet > > TRACE (79): leave decrypt_packet > > TRACE (79): leave read_packet > > TRACE (79): enter process_packet > > TRACE (79): process_packet: packet type = 98 > > TRACE (79): enter recv_msg_channel_request > > TRACE (79): enter chansessionrequest > > TRACE (79): type is shell > > TRACE (79): enter sessioncommand > > TRACE (79): enter ptycommand > > TRACE (80): back to normal sigchld > > TRACE (79): enter sigchld handler > > TRACE (79): sigchld handler: pid 80 > > TRACE (79): using lastexit > > TRACE (79): leave sigchld handler > > TRACE (79): continue ptycommand: parent > > TRACE (79): setnonblocking: 6 > > TRACE (79): leave setnonblocking > > TRACE (79): leave ptycommand > > TRACE (79): enter send_msg_channel_success > > TRACE (79): enter encrypt_packet() > > TRACE (79): encrypt_packet type is 99 > > [79] Jul 07 15:58:55 exit after auth (Administrator): bad buf_incrlen > > TRACE (79): enter session_cleanup > > TRACE (79): enter chancleanup > > TRACE (79): channel 0 closing > > TRACE (79): enter remove_channel > > TRACE (79): channel index is 24 > > TRACE (79): CLOSE writefd 16 > > TRACE (79): CLOSE readfd 24 > > TRACE (79): CLOSE errfd 24 > > TRACE (79): leave remove_channel > > TRACE (79): leave chancleanup > > TRACE (79): leave session_cleanup > > # > > > > > > > > Steve Spano, President > > > > Finger Lakes Engineering > > > > > > > > > > Checked by AVG - www.avg.com > Version: 8.5.387 / Virus Database: 270.13.8/2224 - Release Date: 07/08/09 > 05:53:00 > > -------------- next part -------------- A non-text attachment was scrubbed... Name: no-uclinux-cleanup.diff Type: text/x-diff Size: 1492 bytes Desc: not available Url : http://lists.ucc.gu.uwa.edu.au/pipermail/dropbear/attachments/20090708/e64010bb/attachment.diff From steve at fl-eng.com Thu Jul 9 22:31:07 2009 From: steve at fl-eng.com (Steve Spano) Date: Thu, 9 Jul 2009 10:31:07 -0400 Subject: ### Dropbear MMAP problem? In-Reply-To: <20090708155228.GP21341@ucc.gu.uwa.edu.au> Message-ID: <001e01ca00a1$e6c6bfc0$1501a8c0@flexeon32> Hi Ok, that patch should fix it so it doesn't nuke the main process. Thanks! Steve Spano, President Finger Lakes Engineering -----Original Message----- From: Matt Johnston [mailto:matt at ucc.asn.au] Sent: Wednesday, July 08, 2009 11:52 AM To: Steve Spano Cc: dropbear at ucc.asn.au Subject: Re: ### Dropbear MMAP problem? Ah right. That code block is what switches from the root user (which Dropbear runs as) to the uid of whichever user they have logged in as. If the only user logging in is root, you could remove the "if (getuid() == 0)" block and just leave the check that the login uid matches the running user. I assume the bit that crashes on exit is the call to common_session_cleanup() via svr_dropbear_exit(). I've attached a patch that will only run the cleanup for the main server process - does that look OK? Cheers, Matt On Wed, Jul 08, 2009 at 11:05:20AM -0400, Steve Spano wrote: > Hello! > > Thanks for the reply Matt! I have dropbear working now, the problem > (after several trips through the code) was here in svr-chansession.c > > //removed by fle because it is causing a problem > #if(0) > /* We can only change uid/gid as root ... */ > if (getuid() == 0) { > > if ((setgid(ses.authstate.pw_gid) < 0) || > (initgroups(ses.authstate.pw_name, > ses.authstate.pw_gid) < 0)) > { > dropbear_exit("error changing user group"); > } > if (setuid(ses.authstate.pw_uid) < 0) { > dropbear_exit("error changing user"); > } > } else { > /* ... but if the daemon is the same uid as the requested uid, we > don't > * need to */ > > /* XXX - there is a minor issue here, in that if there are multiple > * usernames with the same uid, but differing groups, then > the > * differing groups won't be set (as with initgroups()). The > solution > * is for the sysadmin not to give out the UID twice */ > if (getuid() != ses.authstate.pw_uid) { > dropbear_exit("couldn't change user as non-root"); > } > } > #endif > > It appers that my system was not able to set the GID, so we bailed out > and never issued the shell or started the terminal. When the bail-out > occurred, the code improperly exits becaue the child PID was never put > into the "pid arrary" (see the notes on the "Race condition" also > desecribed around the sesssigchild_handler. Since we use VFORK, and we > didn't properly exit the child, the parent stack is messed up and we > forget our encryption algorithm, which causes a buffer error, and > subsequent program exit. > > Now, my "fix" was just to IF-out the uid/gid items. > Is that bad? What is the intent of the above code? > > Steve Spano, President > Finger Lakes Engineering > > > > -----Original Message----- > From: Matt Johnston [mailto:matt at ucc.asn.au] > Sent: Wednesday, July 08, 2009 10:54 AM > To: Steve Spano > Cc: dropbear at ucc.asn.au > Subject: Re: ### Dropbear MMAP problem? > > > I'm pretty sure there are some problems running Dropbear standalone, > since that part isn't really vfork safe. Could you try running from an > inetd (give it -i argument) and see if that works? > > Matt > > On Tue, Jul 07, 2009 at 02:12:53PM -0400, Steve Spano wrote: > > Hello, > > > > I am attempting to get dropbear working on a Xilinx Microblaze > > system. > > I have compiled it and it is excuting, but there seems to be some > > buffer/alloc problem of some kind that I am not sure yet how to > > resolve. This is an MMU-LESS system and compiled against uCLibc I can > > connect, exchange keys, and authenticate my username password > > propertly However, when the terminal session begins, I get an error > > about un mapping non-mmaped memory and then a subsequent buffer_incr > > problem and then an exit. > > > > The trace log is below - can anyone offer suggestions? > > > > Thanks > > > > > > quit > > 221 Goodbye > > # ./dropbeart -    -F > > TRACE (79): enter loadhostkeys > > TRACE (79): enter buf_get_priv_key > > TRACE (79): enter rsa_key_free > > TRACE (79): leave rsa_key_free: key == NULL > > TRACE (79): enter buf_get_rsa_priv_key > > TRACE (79): enter buf_get_rsa_pub_key > > TRACE (79): leave buf_get_rsa_pub_key: success > > TRACE (79): leave buf_get_rsa_priv_key > > TRACE (79): leave buf_get_priv_key > > TRACE (79): enter buf_get_priv_key > > TRACE (79): enter dsa_key_free > > TRACE (79): enter dsa_key_free: key == NULL > > TRACE (79): enter buf_get_dss_pub_key > > TRACE (79): leave buf_get_dss_pub_key: success > > TRACE (79): leave buf_get_priv_key > > TRACE (79): leave loadhostkeys > > TRACE (79): listensockets: 1 to try > > > > TRACE (79): listening on ':22' > > TRACE (79): enter dropbear_listen > > TRACE (79): dropbear_listen: all interfaces > > TRACE (79): bind(22) failed > > TRACE (79): leave dropbear_listen: success, 1 socks bound [79] Jul > > 07 > > 15:55:58 Not backgrounding [79] Jul 07 15:56:13 Child connection from > > 192.168.1.21:2594 TRACE (79): enter session_init > > TRACE (79): setnonblocking: 3 > > TRACE (79): leave setnonblocking > > TRACE (79): setnonblocking: 5 > > TRACE (79): leave setnonblocking > > TRACE (79): kexinitialise() > > TRACE (79): leave session_init > > TRACE (79): enter ident_readln > > TRACE (79): leave ident_readln: return 36 > > TRACE (79): remoteident: SSH-2.0-1.84 sshlib: Tunnelier 4.29 > > TRACE (79): enter encrypt_packet() > > TRACE (79): encrypt_packet type is 20 > > TRACE (79): enter writemac > > TRACE (79): leave writemac > > TRACE (79): enter enqueue > > TRACE (79): leave enqueue > > TRACE (79): leave encrypt_packet() > > TRACE (79): DATAALLOWED=0 > > TRACE (79): -> KEXINIT > > TRACE (79): enter write_packet > > TRACE (79): empty queue dequeing > > TRACE (79): leave write_packet > > TRACE (79): enter read_packet > > TRACE (79): leave read_packet > > TRACE (79): maybe_empty_reply_queue - no data allowed > > TRACE (79): enter read_packet > > TRACE (79): enter decrypt_packet > > TRACE (79): leave decrypt_packet > > TRACE (79): leave read_packet > > TRACE (79): enter process_packet > > TRACE (79): process_packet: packet type = 20 > > TRACE (79): <- KEXINIT > > TRACE (79): enter recv_msg_kexinit > > TRACE (79): buf_match_algo: > > > diffie-hellman-group14-sha1,diffie-hellman-group-exchange-sha1,diffie- > hellma > > n-group1-sha1 > > TRACE (79): kex algo diffie-hellman-group1-sha1 > > TRACE (79): buf_match_algo: ssh-rsa,ssh-dss > > TRACE (79): hostkey algo ssh-rsa > > TRACE (79): buf_match_algo: > > > aes256-ctr,twofish256-ctr,twofish-ctr,aes128-ctr,twofish128-ctr,blowfi > sh-ctr > > > ,3des-ctr,cast128-ctr,aes256-cbc,twofish256-cbc,twofish-cbc,aes128-cbc > ,twofi > > sh128-cbc,blowfish-cbc,3des-cbc,arcfour,cast128-cbc > > TRACE (79): enc c2s is aes256-ctr > > TRACE (79): buf_match_algo: > > > aes256-ctr,twofish256-ctr,twofish-ctr,aes128-ctr,twofish128-ctr,blowfi > sh-ctr > > > ,3des-ctr,cast128-ctr,aes256-cbc,twofish256-cbc,twofish-cbc,aes128-cbc > ,twofi > > sh128-cbc,blowfish-cbc,3des-cbc,arcfour,cast128-cbc > > TRACE (79): enc s2c is aes256-ctr > > TRACE (79): buf_match_algo: > > hmac-sha1,hmac-md5,hmac-sha1-96,hmac-md5-96 > > TRACE (79): hash c2s is hmac-sha1 > > TRACE (79): buf_match_algo: hmac-sha1,hmac-md5,hmac-sha1-96,hmac-md5-96 > > TRACE (79): hash s2c is hmac-sha1 > > TRACE (79): buf_match_algo: none > > TRACE (79): hash c2s is none > > TRACE (79): buf_match_algo: none > > TRACE (79): hash s2c is none > > TRACE (79): leave recv_msg_kexinit > > TRACE (79): leave process_packet > > TRACE (79): maybe_empty_reply_queue - no data allowed > > TRACE (79): enter read_packet > > TRACE (79): enter decrypt_packet > > TRACE (79): leave decrypt_packet > > TRACE (79): leave read_packet > > TRACE (79): enter process_packet > > TRACE (79): process_packet: packet type = 30 > > TRACE (79): enter recv_msg_kexdh_init > > TRACE (79): enter send_msg_kexdh_reply > > TRACE (79): enter send_msg_kexdh_reply > > TRACE (79): enter buf_put_pub_key > > TRACE (79): enter buf_put_rsa_pub_key > > TRACE (79): enter buf_putmpint > > TRACE (79): leave buf_putmpint > > TRACE (79): enter buf_putmpint > > TRACE (79): leave buf_putmpint > > TRACE (79): leave buf_put_rsa_pub_key > > TRACE (79): leave buf_put_pub_key > > TRACE (79): enter buf_putmpint > > TRACE (79): leave buf_putmpint > > TRACE (79): enter buf_putmpint > > TRACE (79): leave buf_putmpint > > TRACE (79): enter buf_putmpint > > TRACE (79): leave buf_putmpint > > TRACE (79): enter buf_put_pub_key > > TRACE (79): enter buf_put_rsa_pub_key > > TRACE (79): enter buf_putmpint > > TRACE (79): leave buf_putmpint > > TRACE (79): enter buf_putmpint > > TRACE (79): leave buf_putmpint > > TRACE (79): leave buf_put_rsa_pub_key > > TRACE (79): leave buf_put_pub_key > > TRACE (79): enter buf_putmpint > > TRACE (79): leave buf_putmpint > > TRACE (79): enter buf_put_rsa_sign > > TRACE (79): leave buf_put_rsa_sign > > TRACE (79): enter encrypt_packet() > > TRACE (79): encrypt_packet type is 31 > > TRACE (79): enter writemac > > TRACE (79): leave writemac > > TRACE (79): enter enqueue > > TRACE (79): leave enqueue > > TRACE (79): leave encrypt_packet() > > TRACE (79): leave send_msg_kexdh_reply > > TRACE (79): enter send_msg_newkeys > > TRACE (79): enter encrypt_packet() > > TRACE (79): encrypt_packet type is 21 > > TRACE (79): enter writemac > > TRACE (79): leave writemac > > TRACE (79): enter enqueue > > TRACE (79): leave enqueue > > TRACE (79): leave encrypt_packet() > > TRACE (79): SENTNEWKEYS=1 > > TRACE (79): -> MSG_NEWKEYS > > TRACE (79): leave send_msg_newkeys > > TRACE (79): leave recv_msg_kexdh_init > > TRACE (79): leave process_packet > > TRACE (79): maybe_empty_reply_queue - no data allowed > > TRACE (79): enter write_packet > > TRACE (79): leave write_packet > > TRACE (79): enter read_packet > > TRACE (79): enter decrypt_packet > > TRACE (79): leave decrypt_packet > > TRACE (79): leave read_packet > > TRACE (79): enter process_packet > > TRACE (79): process_packet: packet type = 2 > > TRACE (79): leave process_packet > > TRACE (79): maybe_empty_reply_queue - no data allowed > > TRACE (79): enter write_packet > > TRACE (79): empty queue dequeing > > TRACE (79): leave write_packet > > TRACE (79): enter read_packet > > TRACE (79): enter decrypt_packet > > TRACE (79): leave decrypt_packet > > TRACE (79): leave read_packet > > TRACE (79): enter process_packet > > TRACE (79): process_packet: packet type = 21 > > TRACE (79): <- MSG_NEWKEYS > > TRACE (79): enter recv_msg_newkeys > > TRACE (79): while SENTNEWKEYS=1 > > TRACE (79): enter gen_new_keys > > TRACE (79): enter buf_putmpint > > TRACE (79): leave buf_putmpint > > TRACE (79): leave gen_new_keys > > TRACE (79): kexinitialise() > > TRACE (79): -> DATAALLOWED=1 > > TRACE (79): leave recv_msg_newkeys > > TRACE (79): leave process_packet > > TRACE (79): enter read_packet > > TRACE (79): enter decrypt_packet > > TRACE (79): leave decrypt_packet > > TRACE (79): leave read_packet > > TRACE (79): enter process_packet > > TRACE (79): process_packet: packet type = 5 > > TRACE (79): enter recv_msg_service_request > > TRACE (79): accepting service ssh-userauth > > TRACE (79): enter encrypt_packet() > > TRACE (79): encrypt_packet type is 6 > > TRACE (79): enter writemac > > TRACE (79): leave writemac > > TRACE (79): enter enqueue > > TRACE (79): leave enqueue > > TRACE (79): leave encrypt_packet() > > TRACE (79): leave recv_msg_service_request: done ssh-userauth > > TRACE (79): leave process_packet > > TRACE (79): enter write_packet > > TRACE (79): empty queue dequeing > > TRACE (79): leave write_packet > > TRACE (79): enter read_packet > > TRACE (79): enter decrypt_packet > > TRACE (79): leave decrypt_packet > > TRACE (79): leave read_packet > > TRACE (79): enter process_packet > > TRACE (79): process_packet: packet type = 50 > > TRACE (79): enter recv_msg_userauth_request > > TRACE (79): recv_msg_userauth_request: 'none' request > > TRACE (79): enter send_msg_userauth_failure > > TRACE (79): auth fail: methods 6, 'publickey,password' > > TRACE (79): enter encrypt_packet() > > TRACE (79): encrypt_packet type is 51 > > TRACE (79): enter writemac > > TRACE (79): leave writemac > > TRACE (79): enter enqueue > > TRACE (79): leave enqueue > > TRACE (79): leave encrypt_packet() > > TRACE (79): leave send_msg_userauth_failure > > TRACE (79): leave process_packet > > TRACE (79): enter write_packet > > TRACE (79): empty queue dequeing > > TRACE (79): leave write_packet > > TRACE (79): enter read_packet > > TRACE (79): enter decrypt_packet > > TRACE (79): leave decrypt_packet > > TRACE (79): leave read_packet > > TRACE (79): enter process_packet > > TRACE (79): process_packet: packet type = 2 > > TRACE (79): leave process_packet > > TRACE (79): enter read_packet > > TRACE (79): enter decrypt_packet > > TRACE (79): leave decrypt_packet > > TRACE (79): leave read_packet > > TRACE (79): enter process_packet > > TRACE (79): process_packet: packet type = 50 > > TRACE (79): enter recv_msg_userauth_request > > TRACE (79): enter checkusername > > TRACE (79): shell is /bin/sh > > TRACE (79): test shell is '/bin/sh' > > TRACE (79): matching shell > > TRACE (79): uid = 0 > > TRACE (79): leave checkusername > > [79] Jul 07 15:58:54 password auth succeeded for 'Administrator' from > > 192.168.1.21:2594 > > TRACE (79): enter send_msg_userauth_success > > TRACE (79): enter encrypt_packet() > > TRACE (79): encrypt_packet type is 52 > > TRACE (79): enter writemac > > TRACE (79): leave writemac > > TRACE (79): enter enqueue > > TRACE (79): leave enqueue > > TRACE (79): leave encrypt_packet() > > TRACE (79): leave send_msg_userauth_success > > TRACE (79): leave process_packet > > TRACE (79): enter write_packet > > TRACE (79): empty queue dequeing > > TRACE (79): leave write_packet > > TRACE (79): enter read_packet > > TRACE (79): enter decrypt_packet > > TRACE (79): leave decrypt_packet > > TRACE (79): leave read_packet > > TRACE (79): enter process_packet > > TRACE (79): process_packet: packet type = 2 > > TRACE (79): leave process_packet > > TRACE (79): enter read_packet > > TRACE (79): enter decrypt_packet > > TRACE (79): leave decrypt_packet > > TRACE (79): leave read_packet > > TRACE (79): enter process_packet > > TRACE (79): process_packet: packet type = 90 > > TRACE (79): enter recv_msg_channel_open > > TRACE (79): matched type 'session' > > TRACE (79): enter newchannel > > TRACE (79): leave newchannel > > TRACE (79): enter send_msg_channel_open_confirmation > > TRACE (79): enter encrypt_packet() > > TRACE (79): encrypt_packet type is 91 > > TRACE (79): enter writemac > > TRACE (79): leave writemac > > TRACE (79): enter enqueue > > TRACE (79): leave enqueue > > TRACE (79): leave encrypt_packet() > > TRACE (79): leave send_msg_channel_open_confirmation > > TRACE (79): leave recv_msg_channel_open > > TRACE (79): leave process_packet > > TRACE (79): check_close: writefd -2, readfd -2, errfd -1, sent_close 0, > > recv_close 0 > > TRACE (79): writebuf size 0 extrabuf size 0 > > TRACE (79): sesscheckclose, pid is -1 > > TRACE (79): sesscheckclose, pid is -1 > > TRACE (79): enter write_packet > > TRACE (79): empty queue dequeing > > TRACE (79): leave write_packet > > TRACE (79): check_close: writefd -2, readfd -2, errfd -1, sent_close 0, > > recv_close 0 > > TRACE (79): writebuf size 0 extrabuf size 0 > > TRACE (79): sesscheckclose, pid is -1 > > TRACE (79): sesscheckclose, pid is -1 > > TRACE (79): enter read_packet > > TRACE (79): enter decrypt_packet > > TRACE (79): leave decrypt_packet > > TRACE (79): leave read_packet > > TRACE (79): enter process_packet > > TRACE (79): process_packet: packet type = 98 > > TRACE (79): enter recv_msg_channel_request > > TRACE (79): enter chansessionrequest > > TRACE (79): type is pty-req > > TRACE (79): enter sessionpty > > TRACE (79): enter get_termmodes > > TRACE (79): term mode str 0 p->l 46 p->p 46 > > TRACE (79): leave get_termmodes: empty terminal modes string > > TRACE (79): leave sessionpty > > TRACE (79): enter send_msg_channel_success > > TRACE (79): enter encrypt_packet() > > TRACE (79): encrypt_packet type is 99 > > TRACE (79): enter writemac > > TRACE (79): leave writemac > > TRACE (79): enter enqueue > > TRACmunmap of non-mmaped memory by process 79 (dropbear): 00000018 > > munmap of non-mmaped memory by process 79 (dropbear): 00000010 > > E (79): leave enqueue > > TRACE (79): leamunmap of non-mmaped memory by process 79 (dropbear): > > b8082ce0 > > ve encrypt_packet() > > TRACE (79): leave send_msg_channel_success > > TRACE (79): leave chansessionrequest > > TRACE (79): leave recv_msg_channel_request > > TRACE (79): leave process_packet > > TRACE (79): check_close: writefd -2, readfd -2, errfd -1, sent_close 0, > > recv_close 0 > > TRACE (79): writebuf size 0 extrabuf size 0 > > TRACE (79): sesscheckclose, pid is -1 > > TRACE (79): sesscheckclose, pid is -1 > > TRACE (79): enter write_packet > > TRACE (79): empty queue dequeing > > TRACE (79): leave write_packet > > TRACE (79): enter read_packet > > TRACE (79): enter decrypt_packet > > TRACE (79): leave decrypt_packet > > TRACE (79): leave read_packet > > TRACE (79): enter process_packet > > TRACE (79): process_packet: packet type = 98 > > TRACE (79): enter recv_msg_channel_request > > TRACE (79): enter chansessionrequest > > TRACE (79): type is x11-req > > TRACE (79): setnonblocking: 8 > > TRACE (79): leave setnonblocking > > TRACE (79): new listener num 0 > > TRACE (79): enter send_msg_channel_success > > TRACE (79): enter encrypt_packet() > > TRACE (79): encrypt_packet type is 99 > > TRACE (79): enter writemac > > TRACE (79): leave writemac > > TRACE (79): enter enqueue > > TRACE (79): leave enqueue > > TRACE (79): leave encrypt_packet() > > TRACE (79): leave send_msg_channel_success > > TRACE (79): leave chansessionrequest > > TRACE (79): leave recv_msg_channel_request > > TRACE (79): leave process_packet > > TRACE (79): check_close: writefd -2, readfd -2, errfd -1, sent_close 0, > > recv_close 0 > > TRACE (79): writebuf size 0 extrabuf size 0 > > TRACE (79): sesscheckclose, pid is -1 > > TRACE (79): sesscheckclose, pid is -1 > > TRACE (79): enter write_packet > > TRACE (79): empty queue dequeing > > TRACE (79): leave write_packet > > TRACE (79): enter read_packet > > TRACE (79): enter decrypt_packet > > TRACE (79): leave decrypt_packet > > TRACE (79): leave read_packet > > TRACE (79): enter process_packet > > TRACE (79): process_packet: packet type = 98 > > TRACE (79): enter recv_msg_channel_request > > TRACE (79): enter chansessionrequest > > TRACE (79): type is shell > > TRACE (79): enter sessioncommand > > TRACE (79): enter ptycommand > > TRACE (80): back to normal sigchld > > TRACE (79): enter sigchld handler > > TRACE (79): sigchld handler: pid 80 > > TRACE (79): using lastexit > > TRACE (79): leave sigchld handler > > TRACE (79): continue ptycommand: parent > > TRACE (79): setnonblocking: 6 > > TRACE (79): leave setnonblocking > > TRACE (79): leave ptycommand > > TRACE (79): enter send_msg_channel_success > > TRACE (79): enter encrypt_packet() > > TRACE (79): encrypt_packet type is 99 > > [79] Jul 07 15:58:55 exit after auth (Administrator): bad buf_incrlen > > TRACE (79): enter session_cleanup > > TRACE (79): enter chancleanup > > TRACE (79): channel 0 closing > > TRACE (79): enter remove_channel > > TRACE (79): channel index is 24 > > TRACE (79): CLOSE writefd 16 > > TRACE (79): CLOSE readfd 24 > > TRACE (79): CLOSE errfd 24 > > TRACE (79): leave remove_channel > > TRACE (79): leave chancleanup > > TRACE (79): leave session_cleanup > > # > > > > > > > > Steve Spano, President > > > > Finger Lakes Engineering > > > > > > > > > > Checked by AVG - www.avg.com > Version: 8.5.387 / Virus Database: 270.13.8/2224 - Release Date: 07/08/09 > 05:53:00 > > Checked by AVG - www.avg.com Version: 8.5.387 / Virus Database: 270.13.8/2224 - Release Date: 07/08/09 05:53:00 From v.tolstov at selfip.ru Thu Jul 23 16:07:37 2009 From: v.tolstov at selfip.ru (Vasiliy Tolstov) Date: Thu, 23 Jul 2009 12:07:37 +0400 Subject: x11 question Message-ID: <1248336457.24785.4.camel@localhost> Hello! I'm new with dropbear and have one question - how can i run x11 program (for example gnome-terminal) with dbclient? On remote computer i have openssh with X11 forwarding enabled. Dropbear compiled with right path to xauth prog. -- Vasiliy Tolstov Selfip.Ru From matt at ucc.asn.au Thu Jul 23 23:12:55 2009 From: matt at ucc.asn.au (Matt Johnston) Date: Thu, 23 Jul 2009 23:12:55 +0800 Subject: x11 question In-Reply-To: <1248336457.24785.4.camel@localhost> References: <1248336457.24785.4.camel@localhost> Message-ID: <20090723151255.GK14947@ucc.gu.uwa.edu.au> Hi, The Dropbear client doesn't currently support X11 forwarding. You could possibly manually set up TCP forwarding to localhost:6000 (and set up xhost to allow connections from localhost, if it's trusted) though it might be a bit tedious. Matt On Thu, Jul 23, 2009 at 12:07:37PM +0400, Vasiliy Tolstov wrote: > Hello! > I'm new with dropbear and have one question - how can i run x11 program > (for example gnome-terminal) with dbclient? > On remote computer i have openssh with X11 forwarding enabled. > Dropbear compiled with right path to xauth prog. > > -- > Vasiliy Tolstov > Selfip.Ru > > From ernst.blaauw at gmail.com Sun Jul 26 02:00:27 2009 From: ernst.blaauw at gmail.com (Ernst Blaauw) Date: Sat, 25 Jul 2009 20:00:27 +0200 Subject: sftp-server on a Networked Media Tank? Message-ID: Hi, At home, I have a Networked Media Tank, which can be used to view movies but also is running Linux. Therefore, DropBear runs on this device and I installed it using a installer made by the community on www.networkedmediatank.com ( http://www.networkedmediatank.com/showthread.php?tid=13161&page=1). I would love to add the sftp-server from OpenSSH to my DropBear installation. I downloaded a Debian openssh-server package for mipsel and extracted the sftp-server executable ( http://packages.debian.org/sid/mipsel/openssh-server/download). To test, I tried to execute sftp-server, but after './sftp-server' I got the message: -sh: sftp-server: not found It seems this message is produced by sftp-server, as the program for sure resides in that directory. Now, I don't know how to continue. I already tried to put sftp-server in the /share/Apps/DropBear/bin directory, where also dbclient and scp reside. In my installation, a dropbear.sh exists to start the daemon and I added a line (ln -s ${DBPATH}/bin/sftp-server /usr/lib/sftp-server) inside that script like there are entries dor scp and dbclient. In another e-mail on this list, I saw I had to edit options.h. However, I do not have that file. Can someone help me getting sftp working? It would make me very happy :-). Thanks, Ernst -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.ucc.gu.uwa.edu.au/pipermail/dropbear/attachments/20090725/8b62b621/attachment.htm From ssh at sgi.com Wed Aug 5 20:47:44 2009 From: ssh at sgi.com (Steven Hein) Date: Wed, 05 Aug 2009 07:47:44 -0500 Subject: escape sequence support in dropbear? Message-ID: <4A797F70.6040801@sgi.com> Just wondering if anyone has pondered adding escape sequence support to dropbear? (I'm not looking for a full set of escape sequences like openssh has, just the "~." support to drop the connection). ....or more directly....if anyone has added such support and might be willing to post a patch? ;-) Thanks, Steve Hein From matt at ucc.asn.au Wed Aug 5 22:30:12 2009 From: matt at ucc.asn.au (Matt Johnston) Date: Wed, 5 Aug 2009 22:30:12 +0800 Subject: escape sequence support in dropbear? In-Reply-To: <4A797F70.6040801@sgi.com> References: <4A797F70.6040801@sgi.com> Message-ID: <20090805143012.GA14947@ucc.gu.uwa.edu.au> On Wed, Aug 05, 2009 at 07:47:44AM -0500, Steven Hein wrote: > Just wondering if anyone has pondered adding escape > sequence support to dropbear? (I'm not looking for a > full set of escape sequences like openssh has, just the > "~." support to drop the connection). > > ....or more directly....if anyone has added such support > and might be willing to post a patch? ;-) I haven't added it yet but working ~. is near the top of my todo list. Patches gladly accepted :) Matt From invite+kjdmumw~5d-i at facebookmail.com Fri Aug 14 03:14:55 2009 From: invite+kjdmumw~5d-i at facebookmail.com (Brian Minton) Date: Thu, 13 Aug 2009 12:14:55 -0700 Subject: Check out my photos on Facebook Message-ID: Hi dropbear at ucc.asn.au, I set up a Facebook profile where I can post my pictures, videos and events and I want to add you as a friend so you can see it. First, you need to join Facebook! Once you join, you can also create your own profile. Thanks, Brian To sign up for Facebook, follow the link below: http://www.facebook.com/p.php?i=863415006&k=Z5D52W6644ZFUCD1QB64RUXS2QBF&r dropbear at ucc.asn.au was invited to join Facebook by Brian Minton. If you do not wish to receive this type of email from Facebook in the future, please click on the link below to unsubscribe. http://www.facebook.com/o.php?k=1bd324&u=100000131908415&mid=ee635dG5af31857033fG0G8 Facebook's offices are located at 1601 S. California Ave., Palo Alto, CA 94304 -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.ucc.gu.uwa.edu.au/pipermail/dropbear/attachments/20090813/754787dd/attachment.htm From sepen at crux.nu Wed Aug 19 01:48:27 2009 From: sepen at crux.nu (Jose V Beneyto) Date: Tue, 18 Aug 2009 19:48:27 +0200 Subject: scp and progressmeter Message-ID: <4A8AE96B.5060300@crux.nu> Hi, First, thanks for developing this software, I'm using it for fine in several boxes. But I have a problem when trying to compile scp with progressmeter support: [...] gcc -o scp scp.o progressmeter.o atomicio.o scpmisc.o progressmeter.o: In function `refresh_progress_meter': progressmeter.c:(.text+0x301): undefined reference to `strlcat' progressmeter.c:(.text+0x42b): undefined reference to `strlcat' progressmeter.c:(.text+0x473): undefined reference to `strlcat' progressmeter.c:(.text+0x58f): undefined reference to `strlcat' progressmeter.c:(.text+0x680): undefined reference to `strlcat' progressmeter.o:progressmeter.c:(.text+0x73d): more undefined references to `strlcat' follow collect2: ld returned 1 exit status make: *** [scp] Error 1 I'm running a linux host (2.6.29.3 and glibc-2.8), and this does the trick for me: diff -purN dropbear-0.52.orig/Makefile.in dropbear-0.52/Makefile.in --- dropbear-0.52.orig/Makefile.in 2009-08-18 18:56:39.544848807 +0200 +++ dropbear-0.52/Makefile.in 2009-08-18 19:18:19.593506504 +0200 @@ -40,7 +40,7 @@ KEYOBJS=dropbearkey.o gendss.o genrsa.o CONVERTOBJS=dropbearconvert.o keyimport.o -SCPOBJS=scp.o progressmeter.o atomicio.o scpmisc.o +SCPOBJS=scp.o progressmeter.o atomicio.o scpmisc.o compat.o HEADERS=options.h dbutil.h session.h packet.h algo.h ssh.h buffer.h kex.h \ dss.h bignum.h signkey.h rsa.h random.h service.h auth.h \ I hope this can help. Kind regards -- Jose V Beneyto | http://mikeux.dyndns.org From blavo2112 at gmail.com Tue Aug 25 02:21:51 2009 From: blavo2112 at gmail.com (b2112) Date: Mon, 24 Aug 2009 14:21:51 -0400 Subject: dropbear on uClinux config Message-ID: <33c924e10908241121r2215e74dn991d3649ab724781@mail.gmail.com> I have dropbear working on my uClinux platform and it's being launched with inetd. I am still trying to get the dropbear ssh server working on my target and I can't find the documentation that explains how to set it up. I don't know where to place my host keys and what to call them. My root filesystem is read only and I have a .ssh directory at the root. Is there a procedure available that explains the names of the associated config and/or keys files and where they need to be placed on the target file system. Any help is greatly appreciated. Thanks Bruce -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.ucc.gu.uwa.edu.au/pipermail/dropbear/attachments/20090824/f3da7182/attachment.htm From raghunath.santhanam at gmail.com Tue Aug 25 12:19:47 2009 From: raghunath.santhanam at gmail.com (Raghunath Santhanam) Date: Tue, 25 Aug 2009 09:49:47 +0530 Subject: Facing issue with using dropbear generated private key on putty Message-ID: <4f4fda3c0908242119l1ed62a99vc59592fda146ec26@mail.gmail.com> Hi,I am generating SSH-2 RSA key pair using dropbearkey tool and convert to openssh format using dropbearconvert tool. I use the public key on dropbear server and from Putty I am trying to login to server using the corresponding private key (for authentication) When I click on "open" on putty, I get the following error: "Unable to use key file (openSSH SSH-2 private key)" and then it goes for username & password authentication only. When I try to convert the private key to putty format using putty key generator, I get the following error "Coundn't load private key (unable to create key data structure)" Kindly help me in resolving this issue. Thanks, Raghu -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.ucc.gu.uwa.edu.au/pipermail/dropbear/attachments/20090825/af0b4366/attachment.htm From hans-christian.egtvedt at atmel.com Tue Aug 25 13:32:23 2009 From: hans-christian.egtvedt at atmel.com (Hans-Christian Egtvedt) Date: Tue, 25 Aug 2009 07:32:23 +0200 Subject: dropbear on uClinux config In-Reply-To: <33c924e10908241121r2215e74dn991d3649ab724781@mail.gmail.com> References: <33c924e10908241121r2215e74dn991d3649ab724781@mail.gmail.com> Message-ID: <20090825073223.55f75b82@hcegtvedt.norway.atmel.com> On Mon, 24 Aug 2009 14:21:51 -0400 b2112 wrote: > I don't know where to place my host keys and what to call them. My root > filesystem is read only and I have a .ssh directory at the root. > > Is there a procedure available that explains the names of the associated > config and/or keys files and where they need to be placed on the target file > system. > On my system I have the keys in /etc/dropbear ~ > ls -la /etc/dropbear total 8 -rw------- 1 root root 457 2009-01-16 14:21 dropbear_dss_host_key -rw------- 1 root root 427 2009-01-16 14:21 dropbear_rsa_host_key From the README file in dropbear source code: To run the server, you need to generate server keys, this is one-off: dropbearkey -t rsa -f dropbear_rsa_host_key dropbearkey -t dss -f dropbear_dss_host_key or alternatively convert OpenSSH keys to Dropbear: dropbearconvert openssh dropbear /etc/ssh/ssh_host_dsa_key dropbear_dss_host_key Location of where to store the keys is configured by #ifndef DSS_PRIV_FILENAME #define DSS_PRIV_FILENAME "/etc/dropbear/dropbear_dss_host_key" #endif #ifndef RSA_PRIV_FILENAME #define RSA_PRIV_FILENAME "/etc/dropbear/dropbear_rsa_host_key" #endif which you'll find in options.h in the source code. Happy dropbearing (-: -- Best regards, Hans-Christian Egtvedt From blavo2112 at gmail.com Tue Aug 25 21:12:04 2009 From: blavo2112 at gmail.com (b2112) Date: Tue, 25 Aug 2009 09:12:04 -0400 Subject: dropbear on uClinux config In-Reply-To: <20090825073223.55f75b82@hcegtvedt.norway.atmel.com> References: <33c924e10908241121r2215e74dn991d3649ab724781@mail.gmail.com> <20090825073223.55f75b82@hcegtvedt.norway.atmel.com> Message-ID: <33c924e10908250612o302bc946k2f4d5b95e65b112c@mail.gmail.com> Thank you very much for the help. I'll give it a try. I forgot to ask about setting up accounts, I'm guessing that needs to be done also. Once the keys are in place, what is required for setting up accounts? Is there a document that explains that? On Tue, Aug 25, 2009 at 1:32 AM, Hans-Christian Egtvedt < hans-christian.egtvedt at atmel.com> wrote: > On Mon, 24 Aug 2009 14:21:51 -0400 > b2112 wrote: > > > > > I don't know where to place my host keys and what to call them. My root > > filesystem is read only and I have a .ssh directory at the root. > > > > Is there a procedure available that explains the names of the associated > > config and/or keys files and where they need to be placed on the target > file > > system. > > > > On my system I have the keys in /etc/dropbear > > ~ > ls -la /etc/dropbear > total 8 > -rw------- 1 root root 457 2009-01-16 14:21 dropbear_dss_host_key > -rw------- 1 root root 427 2009-01-16 14:21 dropbear_rsa_host_key > > From the README file in dropbear source code: > > To run the server, you need to generate server keys, this is one-off: > dropbearkey -t rsa -f dropbear_rsa_host_key > dropbearkey -t dss -f dropbear_dss_host_key > > or alternatively convert OpenSSH keys to Dropbear: > dropbearconvert openssh dropbear /etc/ssh/ssh_host_dsa_key > dropbear_dss_host_key > > Location of where to store the keys is configured by > > #ifndef DSS_PRIV_FILENAME > #define DSS_PRIV_FILENAME "/etc/dropbear/dropbear_dss_host_key" > #endif > #ifndef RSA_PRIV_FILENAME > #define RSA_PRIV_FILENAME "/etc/dropbear/dropbear_rsa_host_key" > #endif > > which you'll find in options.h in the source code. > > Happy dropbearing (-: > > > > -- > Best regards, > Hans-Christian Egtvedt > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.ucc.gu.uwa.edu.au/pipermail/dropbear/attachments/20090825/7c6daf96/attachment.htm From hans-christian.egtvedt at atmel.com Tue Aug 25 21:17:50 2009 From: hans-christian.egtvedt at atmel.com (Hans-Christian Egtvedt) Date: Tue, 25 Aug 2009 15:17:50 +0200 Subject: dropbear on uClinux config In-Reply-To: <33c924e10908250612o302bc946k2f4d5b95e65b112c@mail.gmail.com> References: <33c924e10908241121r2215e74dn991d3649ab724781@mail.gmail.com> <20090825073223.55f75b82@hcegtvedt.norway.atmel.com> <33c924e10908250612o302bc946k2f4d5b95e65b112c@mail.gmail.com> Message-ID: <20090825151750.41860db4@hcegtvedt.norway.atmel.com> On Tue, 25 Aug 2009 09:12:04 -0400 b2112 wrote: > Thank you very much for the help. I'll give it a try. > > I forgot to ask about setting up accounts, I'm guessing that needs to be > done also. > > Once the keys are in place, what is required for setting up accounts? Is > there a document that explains that? > man adduser Accounts is not controlled by dropbear, but it will interface your system and query valid username/password combinations. -- Best regards, Hans-Christian Egtvedt From blavo2112 at gmail.com Tue Aug 25 23:56:37 2009 From: blavo2112 at gmail.com (b2112) Date: Tue, 25 Aug 2009 11:56:37 -0400 Subject: dropbear on uClinux config In-Reply-To: <20090825151750.41860db4@hcegtvedt.norway.atmel.com> References: <33c924e10908241121r2215e74dn991d3649ab724781@mail.gmail.com> <20090825073223.55f75b82@hcegtvedt.norway.atmel.com> <33c924e10908250612o302bc946k2f4d5b95e65b112c@mail.gmail.com> <20090825151750.41860db4@hcegtvedt.norway.atmel.com> Message-ID: <33c924e10908250856k54696e3eq5529eca937f0c48c@mail.gmail.com> If I understand what you are saying, I need to set up /etc/passwd and /etc/group on my system? I that correct? On Tue, Aug 25, 2009 at 9:17 AM, Hans-Christian Egtvedt < hans-christian.egtvedt at atmel.com> wrote: > On Tue, 25 Aug 2009 09:12:04 -0400 > b2112 wrote: > > > Thank you very much for the help. I'll give it a try. > > > > I forgot to ask about setting up accounts, I'm guessing that needs to be > > done also. > > > > Once the keys are in place, what is required for setting up accounts? Is > > there a document that explains that? > > > > man adduser > > Accounts is not controlled by dropbear, but it will interface your > system and query valid username/password combinations. > > -- > Best regards, > Hans-Christian Egtvedt > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.ucc.gu.uwa.edu.au/pipermail/dropbear/attachments/20090825/9997f38e/attachment.htm From ohardt at gmail.com Sun Sep 13 02:46:56 2009 From: ohardt at gmail.com (Oliver) Date: Sat, 12 Sep 2009 14:46:56 -0400 Subject: Limit dropbear to one IP Message-ID: <4d00ef4b0909121146i1459baa9r5f56f9a951d9749d@mail.gmail.com> Hey, is there a way to tell dropbear to listen just on a particular IP and not 0.0.0.0 ? I see a cmd line option for setting the port but not the IP. Thanks, Oliver From matt at ucc.asn.au Sun Sep 13 10:43:12 2009 From: matt at ucc.asn.au (Matt Johnston) Date: Sun, 13 Sep 2009 10:43:12 +0800 Subject: Limit dropbear to one IP In-Reply-To: <4d00ef4b0909121146i1459baa9r5f56f9a951d9749d@mail.gmail.com> References: <4d00ef4b0909121146i1459baa9r5f56f9a951d9749d@mail.gmail.com> Message-ID: <20090913024312.GK18440@ucc.gu.uwa.edu.au> You can specify "-p 192.168.14.51:22" and that should work. The manual needs correcting, I'lll do that. Cheers, Matt On Sat, Sep 12, 2009 at 02:46:56PM -0400, Oliver wrote: > Hey, > > is there a way to tell dropbear to listen just on a particular IP and > not 0.0.0.0 ? > > I see a cmd line option for setting the port but not the IP. > > Thanks, > > Oliver > From ohardt at gmail.com Sun Sep 13 23:24:53 2009 From: ohardt at gmail.com (Oliver) Date: Sun, 13 Sep 2009 11:24:53 -0400 Subject: Limit dropbear to one IP In-Reply-To: <20090913024312.GK18440@ucc.gu.uwa.edu.au> References: <4d00ef4b0909121146i1459baa9r5f56f9a951d9749d@mail.gmail.com> <20090913024312.GK18440@ucc.gu.uwa.edu.au> Message-ID: <4d00ef4b0909130824k42f16ef2r5b5bc85828508245@mail.gmail.com> Nevermind, my machine setup needs correcting, I'm running 0.48 which doesn't have that option yet. Thanks for a great piece of software! Oliver On Sat, Sep 12, 2009 at 10:43 PM, Matt Johnston wrote: > You can specify "-p 192.168.14.51:22" and that should work. > The manual needs correcting, I'lll do that. > > Cheers, > Matt > > On Sat, Sep 12, 2009 at 02:46:56PM -0400, Oliver wrote: >> Hey, >> >> is there a way to tell dropbear to listen just on a particular IP and >> not 0.0.0.0 ? >> >> I see a cmd line option for setting the port but not the IP. >> >> Thanks, >> >> ? Oliver >> > > From vishnug76 at yahoo.com Sat Sep 26 10:16:13 2009 From: vishnug76 at yahoo.com (Vishnu Govardhana) Date: Fri, 25 Sep 2009 19:16:13 -0700 (PDT) Subject: Issue with PAM enabled dropbear !! Message-ID: <982544.67553.qm@web58308.mail.re3.yahoo.com> Hi Gurus, I am a newbie to dropbear. I compiled 0.48.1 version with --enable-pam. Now after installing it, my connection from a remote system is failing due to 'Bad packet length' (the number varies everytime). I tried to debug a bit using tcpdump and I see that 'pam_start' etc., messages has sent to remote system. My PAM uses generic pam_unix module for authentication, so it gives login: password: prompts. If I compile with --disable-pam then I don't see any problem. Greatly appreciate your help. Thanks in advance, ~Sree From jean.eckard at gmail.com Sun Sep 27 16:18:29 2009 From: jean.eckard at gmail.com (Jean Eckard) Date: Sun, 27 Sep 2009 10:18:29 +0200 Subject: NAS SSH doesn't free command line Message-ID: <525ad49d0909270118w981aafep3af39b5e7bf18ab5@mail.gmail.com> Hi! I'm having this problem with my NAS running busybox 1.10.3 and dropbear sshd 0.51 : When I type "exit" at the end of my ssh session, I don't get control back; I have to close or kill the terminal window. Same with rsync, when backups finish I don't get the command line back, I must close the terminal window (and then who can tell me my backup succeeded, although the size seems to be OK?). Thanks for your help! Jean From vishnug76 at yahoo.com Tue Sep 29 03:01:05 2009 From: vishnug76 at yahoo.com (Vishnu Govardhana) Date: Mon, 28 Sep 2009 12:01:05 -0700 (PDT) Subject: Issue with PAM enabled dropbear !! In-Reply-To: <982544.67553.qm@web58308.mail.re3.yahoo.com> References: <982544.67553.qm@web58308.mail.re3.yahoo.com> Message-ID: <803358.80896.qm@web58308.mail.re3.yahoo.com> Any suggestions please ??? ----- Original Message ---- From: Vishnu Govardhana To: dropbear at ucc.asn.au Sent: Friday, September 25, 2009 7:16:13 PM Subject: Issue with PAM enabled dropbear !! Hi Gurus, I am a newbie to dropbear. I compiled 0.48.1 version with --enable-pam. Now after installing it, my connection from a remote system is failing due to 'Bad packet length' (the number varies everytime). I tried to debug a bit using tcpdump and I see that 'pam_start' etc., messages has sent to remote system. My PAM uses generic pam_unix module for authentication, so it gives login: password: prompts. If I compile with --disable-pam then I don't see any problem. Greatly appreciate your help. Thanks in advance, ~Sree From invite+kjdmumw~5d-i at facebookmail.com Tue Sep 29 20:38:34 2009 From: invite+kjdmumw~5d-i at facebookmail.com (Roberto A. Foglietta) Date: Tue, 29 Sep 2009 05:38:34 -0700 Subject: Entra in Facebook Message-ID: <3c1bc4823c990b9920dbd72cdac237b4@localhost.localdomain> Ciao dropbear at ucc.asn.au, ho creato un profilo su Facebook dove posso pubblicare foto, video ed eventi e vorrei aggiungerti ai miei amici per poterli condividere con te. Prima di tutto, devi iscriverti a Facebook! Poi anche tu potrai creare il tuo profilo personale! Grazie, Roberto Per iscriverti a Facebook, usa il link in basso: http://www.facebook.com/p.php?i=605223735&k=461524PXPT6G6BD1PA5UQ3URV6BAZY4FS4GV&r ? stato inviato un invito a iscriversi a Facebook a dropbear at ucc.asn.au da parte di Roberto A. Foglietta. Se non vuoi ricevere questo tipo di e-mail da Facebook in futuro, clicca sul link sottostante per annullare l'iscrizione. http://www.facebook.com/o.php?k=1bd324&u=100000131908415&mid=12bfcf8G5af31857033fG0G8 L'indirizzo degli uffici di Facebook ?: 1601 S. California Ave., Palo Alto, CA 94304. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.ucc.gu.uwa.edu.au/pipermail/dropbear/attachments/20090929/b5766a55/attachment.htm From matt at ucc.asn.au Tue Sep 29 22:22:35 2009 From: matt at ucc.asn.au (Matt Johnston) Date: Tue, 29 Sep 2009 22:22:35 +0800 Subject: Issue with PAM enabled dropbear !! In-Reply-To: <982544.67553.qm@web58308.mail.re3.yahoo.com> References: <982544.67553.qm@web58308.mail.re3.yahoo.com> Message-ID: <20090929142235.GD8850@ucc.gu.uwa.edu.au> On Fri, Sep 25, 2009 at 07:16:13PM -0700, Vishnu Govardhana wrote: > Hi Gurus, > I am a newbie to dropbear. I compiled 0.48.1 version with --enable-pam. > Now after installing it, my connection from a remote system is failing due > to 'Bad packet length' (the number varies everytime). I tried to debug a bit > using tcpdump and I see that 'pam_start' etc., messages has sent to remote > system. Hi, tcpdump of port 22 shouldn't see anything about PAM - everything should be encrypted at that point. Could you save it to a file (tcpdump with "-w file.cap -s 0"), don't type your password, and send it? Matt