Andy Herkey wrote:
Shannon,
I finally had a chance to start digging into this problem. I found another thing that is puzzling me. From your log output I see that the first password request should have also failed.

 IPModem password request packet:
     00000000: 02 00 00 00 74 12 6f e6 0a 00 00 00 0a 00 00 00     
....t.o.........
     00000010: e9 ba a1 24 1c 00 00 00 78 56 34 12                 ...$....xV4.
BulkWrite to endpoint 11:
     00000000: 03 00 00 00 ba cb 53 9b 12 f8 c5 27 be 85 a3 e2     
......S....'....
     00000010: 4d 9f dc 43 a6 a9 c4 23 78 56 34 12                 M..C...#xV4.
IPModem read password response.
     00000000: 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00     
................
     00000010: 01 00 00 00 1c 00 00 00 78 56 34 12                 ........xV4.
IPModem password accepted.

The password seed is incremented when the password is accepted by the device. The seed is found in packet 0x02. For this session it was 74 12 6f e6. So the response packet 0x04 should have looked like this:

     00000000: 04 00 00 00 75 12 6f e6 0a 00 00 00 0a 00 00 00
00000010: 01 00 00 00 1c 00 00 00 78 56 34 12 The code is just checking if the two seeds were different. I see now that we will have to check if the seed is indeed incremented.

        // check response 04 00 00 00 .......
// On the 8703e the seed is incremented, retries are reset to 10 when the password is accepted.
        // if( data.GetData()[0] == 0x04  && data.GetData()[8] == 0x0a ) {
                if( data.GetSize() >= 9 && data.GetData()[0] == 0x04 ) {
if( memcmp(data.GetData() + 4, seed, sizeof(seed)) == 0 ) { ddout("IPModem invalid password.\n" << data); throw BadPassword("Password rejected by device.", data.GetData()[8], false);
                        }
                        ddout("IPModem password accepted.\n");

But that's not going to fix your problem yet.  :-(

I need another output from you. This time I need you to use an bad password so I can compare the responses. If you can create the same log as before, that would be great. I also need to know the bad password you used so I can check that the password hash is created properly. PLEASE, DON'T RUN THIS TEST NO MORE THAN TWO TIMES without logging out and then back in to reset the bad password count.

--Andy


------------------------------------------------------------------------

------------------------------------------------------------------------------
SF.Net email is Sponsored by MIX09, March 18-20, 2009 in Las Vegas, Nevada.
The future of the web can't happen without you.  Join us at MIX09 to help
pave the way to the Next Web now. Learn more and register at
http://ad.doubleclick.net/clk;208669438;13503038;i?http://2009.visitmix.com/


------------------------------------------------------------------------

_______________________________________________
Barry-devel mailing list
Barry-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/barry-devel
Here's the screen output:

smcmac...@mariner-t61:~/Desktop$ sudo pppd call barry-att_cingular
Couldn't open pty slave /dev/pts/0: No such file or directory
Setting abort string
usb_set_debug: Setting debugging level to 9 (on)
usb_os_init: Found USB VFS at /dev/bus/usb
usb_os_find_busses: Found 007
usb_os_find_busses: Found 006
usb_os_find_busses: Found 005
usb_os_find_busses: Found 004
usb_os_find_busses: Found 003
usb_os_find_busses: Found 002
usb_os_find_busses: Found 001
usb_os_find_devices: Found 001 on 007
Initializing modem
usb_os_find_devices: Found 001 on 006
usb_os_find_devices: Found 001 on 005
usb_os_find_devices: Found 001 on 004
usb_os_find_devices: Found 003 on 003
usb_os_find_devices: Found 001 on 003
error obtaining child information: Inappropriate ioctl for device
usb_os_find_devices: Found 001 on 002
usb_os_find_devices: Found 001 on 001
usb_os_find_busses: Found 007
usb_os_find_busses: Found 006
usb_os_find_busses: Found 005
usb_os_find_busses: Found 004
usb_os_find_busses: Found 003
usb_os_find_busses: Found 002
usb_os_find_busses: Found 001
usb_os_find_devices: Found 001 on 007
usb_os_find_devices: Found 001 on 006
usb_os_find_devices: Found 001 on 005
usb_os_find_devices: Found 001 on 004
usb_os_find_devices: Found 003 on 003
usb_os_find_devices: Found 001 on 003
error obtaining child information: Inappropriate ioctl for device
usb_os_find_devices: Found 001 on 002
usb_os_find_devices: Found 001 on 001
usb_os_find_busses: Found 007
usb_os_find_busses: Found 006
usb_os_find_busses: Found 005
usb_os_find_busses: Found 004
usb_os_find_busses: Found 003
usb_os_find_busses: Found 002
usb_os_find_busses: Found 001
usb_os_find_devices: Found 001 on 007
usb_os_find_devices: Found 001 on 006
usb_os_find_devices: Found 001 on 005
usb_os_find_devices: Found 001 on 004
usb_os_find_devices: Found 003 on 003
usb_os_find_devices: Found 001 on 003
error obtaining child information: Inappropriate ioctl for device
usb_os_find_devices: Found 001 on 002
usb_os_find_devices: Found 001 on 001
exception caught in main(): Password rejected by device.
Connect script failed
Script /usr/sbin/pppob -vP 3ewfdsxx -l /tmp/ppp.log finished (pid 11302), 
status = 0x1

That is the incorrect password that I used...

Should I consider stepping back to 0.14 and trying that release?
device_desc loaded
bLength: 18
bDescriptorType: 1
bcdUSB: 512
bDeviceClass: 0
bDeviceSubClass: 0
bDeviceProtocol: 0
bMaxPacketSize0: 64
idVendor: 4042
idProduct: 32772
bcdDevice: 513
iManufacturer: 1
iProduct: 5
iSerialNumber: 3
bNumConfigurations: 1

  config_desc #0 loaded
bLength: 9
bDescriptorType: 2
wTotalLength: 106
bNumInterfaces: 3
bConfigurationValue: 1
iConfiguration: 0
bmAttributes: 128
MaxPower: 250

    interface_desc #0 loaded
bLength: 9
bDescriptorType: 4
bInterfaceNumber: 0
bAlternateSetting: 0
bNumEndpoints: 6
bInterfaceClass: 255
bInterfaceSubClass: 1
bInterfaceProtocol: 255
iInterface: 2

      endpoint_desc #0 loaded
bLength: 7
bDescriptorType: 5
bEndpointAddress: 131
bmAttributes: 2
wMaxPacketSize: 512
bInterval: 0
bRefresh: 0
bSynchAddress: 0

      endpoint added to map with bEndpointAddress: 131
        pair.read = 131
        pair.type = 2
      endpoint_desc #1 loaded
bLength: 7
bDescriptorType: 5
bEndpointAddress: 5
bmAttributes: 2
wMaxPacketSize: 512
bInterval: 0
bRefresh: 0
bSynchAddress: 0

      endpoint added to map with bEndpointAddress: 5
        pair.write = 5
        pair.type = 2
        pair added! (read: 131,write: 5,type: 2)
      endpoint_desc #2 loaded
bLength: 7
bDescriptorType: 5
bEndpointAddress: 135
bmAttributes: 2
wMaxPacketSize: 512
bInterval: 0
bRefresh: 0
bSynchAddress: 0

      endpoint added to map with bEndpointAddress: 135
        pair.read = 135
        pair.type = 2
      endpoint_desc #3 loaded
bLength: 7
bDescriptorType: 5
bEndpointAddress: 9
bmAttributes: 2
wMaxPacketSize: 512
bInterval: 0
bRefresh: 0
bSynchAddress: 0

      endpoint added to map with bEndpointAddress: 9
        pair.write = 9
        pair.type = 2
        pair added! (read: 135,write: 9,type: 2)
      endpoint_desc #4 loaded
bLength: 7
bDescriptorType: 5
bEndpointAddress: 138
bmAttributes: 2
wMaxPacketSize: 512
bInterval: 0
bRefresh: 0
bSynchAddress: 0

      endpoint added to map with bEndpointAddress: 138
        pair.read = 138
        pair.type = 2
      endpoint_desc #5 loaded
bLength: 7
bDescriptorType: 5
bEndpointAddress: 11
bmAttributes: 2
wMaxPacketSize: 512
bInterval: 0
bRefresh: 0
bSynchAddress: 0

      endpoint added to map with bEndpointAddress: 11
        pair.write = 11
        pair.type = 2
        pair added! (read: 138,write: 11,type: 2)
    interface added to map with bInterfaceNumber: 0
    interface_desc #0 loaded
bLength: 9
bDescriptorType: 4
bInterfaceNumber: 1
bAlternateSetting: 0
bNumEndpoints: 2
bInterfaceClass: 8
bInterfaceSubClass: 6
bInterfaceProtocol: 80
iInterface: 4

      endpoint_desc #0 loaded
bLength: 7
bDescriptorType: 5
bEndpointAddress: 141
bmAttributes: 2
wMaxPacketSize: 512
bInterval: 0
bRefresh: 0
bSynchAddress: 0

      endpoint added to map with bEndpointAddress: 141
        pair.read = 141
        pair.type = 2
      endpoint_desc #1 loaded
bLength: 7
bDescriptorType: 5
bEndpointAddress: 14
bmAttributes: 2
wMaxPacketSize: 512
bInterval: 0
bRefresh: 0
bSynchAddress: 0

      endpoint added to map with bEndpointAddress: 14
        pair.write = 14
        pair.type = 2
        pair added! (read: 141,write: 14,type: 2)
    interface added to map with bInterfaceNumber: 1
    interface_desc #0 loaded
bLength: 9
bDescriptorType: 4
bInterfaceNumber: 2
bAlternateSetting: 0
bNumEndpoints: 2
bInterfaceClass: 8
bInterfaceSubClass: 6
bInterfaceProtocol: 80
iInterface: 0

      endpoint_desc #0 loaded
bLength: 7
bDescriptorType: 5
bEndpointAddress: 2
bmAttributes: 2
wMaxPacketSize: 512
bInterval: 0
bRefresh: 0
bSynchAddress: 0

      endpoint added to map with bEndpointAddress: 2
        pair.write = 2
        pair.type = 2
      endpoint_desc #1 loaded
bLength: 7
bDescriptorType: 5
bEndpointAddress: 134
bmAttributes: 2
wMaxPacketSize: 512
bInterval: 0
bRefresh: 0
bSynchAddress: 0

      endpoint added to map with bEndpointAddress: 134
        pair.read = 134
        pair.type = 2
        pair added! (read: 134,write: 2,type: 2)
    interface added to map with bInterfaceNumber: 2
  config added to map with bConfigurationValue: 1
usb_open(0x8cf9558)
usb_claim_interface(0x8cec6b8,0)
usb_clear_halt(0x8cec6b8,135)
usb_clear_halt(0x8cec6b8,9)
BulkWrite to endpoint 9:
    00000000: 00 00 10 00 01 ff 00 00 a8 18 da 8d 6c 02 00 00  ............l...

BulkRead (135):
    00000000: 00 00 10 00 02 ff 00 00 a8 18 da 8d 6c 02 00 00  ............l...

BulkWrite to endpoint 9:
    00000000: 00 00 0c 00 05 ff 00 00 14 00 01 00              ............

SocketZero::RawReceive: Endpoint 135
Received:
    00000000: 00 00 20 00 06 ff 00 00 14 00 01 00 52 a5 9d f7  .. .........R...
    00000010: 2f 51 49 33 00 29 08 25 c8 d3 99 6a ad 1b c9 08  /QI3.).%...j....

BulkWrite to endpoint 9:
    00000000: 00 00 0c 00 05 ff 00 01 08 00 04 00              ............

SocketZero::RawReceive: Endpoint 135
Received:
    00000000: 00 00 14 00 06 ff 00 01 08 00 04 00 07 00 00 00  ................
    00000010: e9 ba a1 24                                      ...$

BulkWrite to endpoint 9:
    00000000: 00 00 0c 00 05 ff 00 02 08 00 02 00              ............

SocketZero::RawReceive: Endpoint 135
Received:
    00000000: 00 00 c8 01 06 ff 00 02 bc 01 02 00 01 00 06 00  ................
    00000010: bc 01 00 00 15 00 04 05 07 0e 00 84 52 49 4d 20  ............RIM 
    00000020: 42 6c 61 63 6b 42 65 72 72 79 20 44 65 76 69 63  BlackBerry Devic
    00000030: 65 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  e...............
    00000040: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
    00000050: 00 00 00 00 00 00 00 00 00 00 00 00 72 64 61 67  ............rdag
    00000060: 67 00 00 00 00 00 00 00 00 00 00 00 53 65 70 20  g...........Sep 
    00000070: 31 35 20 32 30 30 38 00 00 00 00 00 31 35 3a 35  15 2008.....15:5
    00000080: 37 3a 31 32 00 00 00 00 00 00 00 00 00 01 0f 00  7:12............
    00000090: 01 00 00 00 00 00 00 00 a8 00 00 00 0a 00 00 00  ................
    000000a0: bc 00 00 00 40 00 00 00 04 00 00 00 b8 e5 01 5c  ....@..........\
    000000b0: 00 00 02 00 01 10 02 e7 03 02 04 0f 07 25 ff ff  .............%..
    000000c0: ff ff ff ff ff ff ff ff 4a 56 be 92 0e 00 01 00  ........JV......
    000000d0: 1d 0c 00 00 00 00 00 00 e4 03 00 00 18 0c 00 00  ................
    000000e0: 00 00 00 00 00 00 00 00 19 08 00 00 02 00 00 00  ................
    000000f0: 1a 08 00 00 d3 03 00 00 1e 0c 00 00 d4 03 00 00  ................
    00000100: e4 03 00 00 09 08 00 00 e1 8c 58 98 ff ff ff ff  ..........X.....
    00000110: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
    00000120: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
    00000130: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
    00000140: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
    00000150: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
    00000160: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
    00000170: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
    00000180: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
    00000190: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
    000001a0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
    000001b0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
    000001c0: ff ff ff ff ff ff ff ff                          ........

BulkWrite to endpoint 9:
    00000000: 00 00 0c 00 05 ff 00 03 04 00 05 00              ............

SocketZero::RawReceive: Endpoint 135
Received:
    00000000: 00 00 0c 00 06 ff 00 03 00 00 00 00              ............

BulkWrite to endpoint 9:
    00000000: 00 00 0c 00 05 ff 00 04 04 00 06 00              ............

SocketZero::RawReceive: Endpoint 135
Received:
    00000000: 00 00 0c 00 06 ff 00 04 00 00 00 00              ............

BulkWrite to endpoint 9:
    00000000: 00 00 0c 00 05 ff 00 05 04 00 07 00              ............

SocketZero::RawReceive: Endpoint 135
Received:
    00000000: 00 00 10 00 06 ff 00 05 04 00 07 00 00 02 00 00  ................

BulkWrite to endpoint 9:
    00000000: 00 00 0c 00 05 ff 00 06 04 00 08 00              ............

SocketZero::RawReceive: Endpoint 135
Received:
    00000000: 00 00 0c 00 06 ff 00 06 00 00 00 00              ............

Using ReadEndpoint: 135
      WriteEndpoint: 9
usb_release_interface(0x8cec6b8,0)
usb_close(0x8cec6b8)
Using IpModem mode...
usb_open(0x8cf9558)
Controller: Using non-threaded sockets
usb_claim_interface(0x8cec6b8,0)
usb_clear_halt(0x8cec6b8,135)
usb_clear_halt(0x8cec6b8,9)
usb_clear_halt(0x8cec6b8,138)
usb_clear_halt(0x8cec6b8,11)
BulkWrite to endpoint 11:
    00000000: 01 00 00 00 01 00 00 00 78 56 34 12              ........xV4.

IPModem read packet.
    00000000: 02 00 00 00 b9 12 6f e6 0a 00 00 00 0a 00 00 00  ......o.........
    00000010: e9 ba a1 24 1c 00 00 00 78 56 34 12              ...$....xV4.

IPModem password request packet:
    00000000: 02 00 00 00 b9 12 6f e6 0a 00 00 00 0a 00 00 00  ......o.........
    00000010: e9 ba a1 24 1c 00 00 00 78 56 34 12              ...$....xV4.

BulkWrite to endpoint 11:
    00000000: 03 00 00 00 59 5c 60 55 7a f3 da 14 1f 4f 0b 71  ....Y\`Uz....O.q
    00000010: 5b d9 cf e1 b6 07 8a 60 78 56 34 12              [......`xV4.

IPModem read password response.
    00000000: 04 00 00 00 b9 12 6f e6 09 00 00 00 0a 00 00 00  ......o.........
    00000010: 00 00 00 00 1c 00 00 00 78 56 34 12              ........xV4.

IPModem invalid password.
    00000000: 04 00 00 00 b9 12 6f e6 09 00 00 00 0a 00 00 00  ......o.........
    00000010: 00 00 00 00 1c 00 00 00 78 56 34 12              ........xV4.

IpModem:: Closing connection.
BulkWrite to endpoint 11:
    00000000: 00 00 00 00 b0 00 00 00 00 00 00 00 00 c2 01 00  ................
    00000010: 00 00 00 00 00 00 00 00 78 56 34 12              ........xV4.

BulkWrite to endpoint 11:
    00000000: 00 00 00 00 20 00 00 00 03 00 00 00 00 c2 01 00  .... ...........
    00000010: 00 00 00 00 00 00 00 00 78 56 34 12              ........xV4.

BulkWrite to endpoint 11:
    00000000: 00 00 00 00 30 00 00 00 00 00 00 00 00 c2 01 00  ....0...........
    00000010: 00 00 00 00 00 00 00 00 78 56 34 12              ........xV4.

BulkWrite to endpoint 11:
    00000000: 01 00 00 00 00 00 00 00 78 56 34 12              ........xV4.

IPModem:: Close Read Timeout
IPmodem:: Closed!
usb_release_interface(0x8cec6b8,0)
usb_close(0x8cec6b8)
------------------------------------------------------------------------------
SF.Net email is Sponsored by MIX09, March 18-20, 2009 in Las Vegas, Nevada.
The future of the web can't happen without you.  Join us at MIX09 to help
pave the way to the Next Web now. Learn more and register at
http://ad.doubleclick.net/clk;208669438;13503038;i?http://2009.visitmix.com/
_______________________________________________
Barry-devel mailing list
Barry-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/barry-devel

Reply via email to