Thanks, I did an independent analysis of their firmware yesterday night and
have a clear picture.

I explained my findings to the non-technical people at Cary. They
understand the situation and that it cannot be ignored.

I expect that they will want to discuss this with their developers next. I
will remind them to get in touch with you.

On Wed, Jan 31, 2018 at 2:25 AM, Max Kellermann <m...@duempel.org> wrote:

> Thanks so far, Brian; I contacted Cary Audio last week, but did not
> get a reply.  All they did was switch off the server which had
> firmware downloads, but I was able to pull a mirror of it.
>
> It looks like Cary Audio outsourced the MPD related work to a Chinese
> contractor who didn't know or care about copyright.
>
> On 2018/01/31 03:33, Brian Luczkiewicz <br...@roonlabs.com> wrote:
> > It was a surprise to me to learn that our code was being statically
> linked
> > into mpd
>
> Just in case Cary Audio denies it, here's an excerpt from "objdump -d
> usr/bin/mpd":
>
>  0019d32c <RAAT__client_status_to_string@@Base>:
>    19d32c:       e2403d5d        sub     r3, r0, #5952   ; 0x1740
>    19d330:       e92d4010        push    {r4, lr}
>    19d334:       e2433030        sub     r3, r3, #48     ; 0x30
>    19d338:       e3530ffa        cmp     r3, #1000       ; 0x3e8
>    19d33c:       2a00001a        bcs     19d3ac <RAAT__client_status_to_
> string@@Base+0x80>
>    19d340:       e3013771        movw    r3, #6001       ; 0x1771
>    19d344:       e1500003        cmp     r0, r3
>    19d348:       0a000014        beq     19d3a0 <RAAT__client_status_to_
> string@@Base+0x74>
>    19d34c:       e3013772        movw    r3, #6002       ; 0x1772
>    19d350:       e1500003        cmp     r0, r3
>    19d354:       0a00000b        beq     19d388 <RAAT__client_status_to_
> string@@Base+0x5c>
>    19d358:       e3013770        movw    r3, #6000       ; 0x1770
>    19d35c:       e1500003        cmp     r0, r3
>    19d360:       0a00000b        beq     19d394 <RAAT__client_status_to_
> string@@Base+0x68>
>    19d364:       e59f3064        ldr     r3, [pc, #100]  ; 19d3d0
> <RAAT__client_status_to_string@@Base+0xa4>
>    19d368:       e300221a        movw    r2, #538 ; 0x21a
>    19d36c:       e59f1060        ldr     r1, [pc, #96]   ; 19d3d4
> <RAAT__client_status_to_string@@Base+0xa8>
>    19d370:       e59f0060        ldr     r0, [pc, #96]   ; 19d3d8
> <RAAT__client_status_to_string@@Base+0xac>
>    19d374:       e08f3003        add     r3, pc, r3
>    19d378:       e08f1001        add     r1, pc, r1
>    19d37c:       e28330c0        add     r3, r3, #192    ; 0xc0
>    19d380:       e08f0000        add     r0, pc, r0
>    19d384:       ebfa0e4c        bl      20cbc <__assert_fail@plt>
>    19d388:       e59f004c        ldr     r0, [pc, #76]   ; 19d3dc
> <RAAT__client_status_to_string@@Base+0xb0>
>    19d38c:       e08f0000        add     r0, pc, r0
>    19d390:       e8bd8010        pop     {r4, pc}
>    19d394:       e59f0044        ldr     r0, [pc, #68]   ; 19d3e0
> <RAAT__client_status_to_string@@Base+0xb4>
>    19d398:       e08f0000        add     r0, pc, r0
>    19d39c:       e8bd8010        pop     {r4, pc}
>    19d3a0:       e59f003c        ldr     r0, [pc, #60]   ; 19d3e4
> <RAAT__client_status_to_string@@Base+0xb8>
>    19d3a4:       e08f0000        add     r0, pc, r0
>    19d3a8:       e8bd8010        pop     {r4, pc}
>    19d3ac:       e59f3034        ldr     r3, [pc, #52]   ; 19d3e8
> <RAAT__client_status_to_string@@Base+0xbc>
>    19d3b0:       e3a02f85        mov     r2, #532 ; 0x214
>    19d3b4:       e59f1030        ldr     r1, [pc, #48]   ; 19d3ec
> <RAAT__client_status_to_string@@Base+0xc0>
>    19d3b8:       e59f0030        ldr     r0, [pc, #48]   ; 19d3f0
> <RAAT__client_status_to_string@@Base+0xc4>
>    19d3bc:       e08f3003        add     r3, pc, r3
>    19d3c0:       e08f1001        add     r1, pc, r1
>    19d3c4:       e28330c0        add     r3, r3, #192    ; 0xc0
>    19d3c8:       e08f0000        add     r0, pc, r0
>    19d3cc:       ebfa0e3a        bl      20cbc <__assert_fail@plt>
>
>
> This matches the source code in your SDK's raat/raat_client.c.
> 0x1770, 0x1771 and 0x1772 are RAAT__CLIENT_STATUS_NETWORK_ERROR and so
> on.
>
> The contractor forgot to disable assertions for the release build, and
> it looks like compiler optimizations were disabled.
>



-- 
Brian Luczkiewicz
CTO, Roon Labs
_______________________________________________
mpd-devel mailing list
mpd-devel@musicpd.org
http://mailman.blarg.de/listinfo/mpd-devel

Reply via email to