Hello community, here is the log from the commit of package bluez-hcidump for openSUSE:Factory checked in at 2012-03-16 13:09:45 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/bluez-hcidump (Old) and /work/SRC/openSUSE:Factory/.bluez-hcidump.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "bluez-hcidump", Maintainer is "[email protected]" Changes: -------- --- /work/SRC/openSUSE:Factory/bluez-hcidump/bluez-hcidump.changes 2011-12-30 08:45:28.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.bluez-hcidump.new/bluez-hcidump.changes 2012-03-16 13:09:48.000000000 +0100 @@ -1,0 +2,7 @@ +Thu Mar 8 21:15:22 UTC 2012 - [email protected] + +- update to version 2.3: + - Fix issue with UUID-128 attribute decoding. + - Add support for OBEX over L2CAP decoding. + +------------------------------------------------------------------- Old: ---- bluez-hcidump-2.2.tar.bz2 New: ---- bluez-hcidump-2.3.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ bluez-hcidump.spec ++++++ --- /var/tmp/diff_new_pack.ceileu/_old 2012-03-16 13:09:49.000000000 +0100 +++ /var/tmp/diff_new_pack.ceileu/_new 2012-03-16 13:09:49.000000000 +0100 @@ -1,8 +1,8 @@ # # spec file for package bluez-hcidump # -# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany. -# Copyright (c) 2011 B1 Systems GmbH, Vohburg, Germany. +# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2011-2012 B1 Systems GmbH, Vohburg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -22,7 +22,7 @@ BuildRequires: bluez-devel >= 4.70 BuildRequires: pkgconfig Url: http://www.bluez.org -Version: 2.2 +Version: 2.3 Release: 0 Summary: HCI Dumper for Debugging Bluetooth Connections License: GPL-2.0+ ++++++ bluez-hcidump-2.2.tar.bz2 -> bluez-hcidump-2.3.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bluez-hcidump-2.2/ChangeLog new/bluez-hcidump-2.3/ChangeLog --- old/bluez-hcidump-2.2/ChangeLog 2011-12-22 01:18:58.000000000 +0100 +++ new/bluez-hcidump-2.3/ChangeLog 2012-02-29 19:23:20.000000000 +0100 @@ -1,3 +1,7 @@ +ver 2.3: + Fix issue with UUID-128 attribute decoding. + Add support for OBEX over L2CAP decoding. + ver 2.2: Fix issue with L2CAP CID matching. Add support for L2CAP extended window size decoding. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bluez-hcidump-2.2/Makefile.in new/bluez-hcidump-2.3/Makefile.in --- old/bluez-hcidump-2.2/Makefile.in 2011-12-22 01:19:24.000000000 +0100 +++ new/bluez-hcidump-2.3/Makefile.in 2012-02-29 19:23:33.000000000 +0100 @@ -41,7 +41,7 @@ ChangeLog INSTALL NEWS depcomp install-sh missing ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/configure.in + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bluez-hcidump-2.2/config.h.in new/bluez-hcidump-2.3/config.h.in --- old/bluez-hcidump-2.2/config.h.in 2011-12-22 01:19:22.000000000 +0100 +++ new/bluez-hcidump-2.3/config.h.in 2012-02-29 19:23:31.000000000 +0100 @@ -1,4 +1,4 @@ -/* config.h.in. Generated from configure.in by autoheader. */ +/* config.h.in. Generated from configure.ac by autoheader. */ /* Name of package */ #undef PACKAGE diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bluez-hcidump-2.2/configure new/bluez-hcidump-2.3/configure --- old/bluez-hcidump-2.2/configure 2011-12-22 01:19:25.000000000 +0100 +++ new/bluez-hcidump-2.3/configure 2012-02-29 19:23:34.000000000 +0100 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.63 for bluez-hcidump 2.2. +# Generated by GNU Autoconf 2.63 for bluez-hcidump 2.3. # # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, # 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. @@ -594,8 +594,8 @@ # Identity of this package. PACKAGE_NAME='bluez-hcidump' PACKAGE_TARNAME='bluez-hcidump' -PACKAGE_VERSION='2.2' -PACKAGE_STRING='bluez-hcidump 2.2' +PACKAGE_VERSION='2.3' +PACKAGE_STRING='bluez-hcidump 2.3' PACKAGE_BUGREPORT='' ac_default_prefix=/usr/local @@ -1253,7 +1253,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures bluez-hcidump 2.2 to adapt to many kinds of systems. +\`configure' configures bluez-hcidump 2.3 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1319,7 +1319,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of bluez-hcidump 2.2:";; + short | recursive ) echo "Configuration of bluez-hcidump 2.3:";; esac cat <<\_ACEOF @@ -1410,7 +1410,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -bluez-hcidump configure 2.2 +bluez-hcidump configure 2.3 generated by GNU Autoconf 2.63 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, @@ -1424,7 +1424,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by bluez-hcidump $as_me 2.2, which was +It was created by bluez-hcidump $as_me 2.3, which was generated by GNU Autoconf 2.63. Invocation command line was $ $0 $@ @@ -2274,7 +2274,7 @@ # Define the identity of the package. PACKAGE='bluez-hcidump' - VERSION='2.2' + VERSION='2.3' cat >>confdefs.h <<_ACEOF @@ -4084,7 +4084,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by bluez-hcidump $as_me 2.2, which was +This file was extended by bluez-hcidump $as_me 2.3, which was generated by GNU Autoconf 2.63. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -4147,7 +4147,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_version="\\ -bluez-hcidump config.status 2.2 +bluez-hcidump config.status 2.3 configured by $0, generated by GNU Autoconf 2.63, with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bluez-hcidump-2.2/configure.ac new/bluez-hcidump-2.3/configure.ac --- old/bluez-hcidump-2.2/configure.ac 1970-01-01 01:00:00.000000000 +0100 +++ new/bluez-hcidump-2.3/configure.ac 2012-02-29 19:23:20.000000000 +0100 @@ -0,0 +1,36 @@ +AC_PREREQ(2.60) +AC_INIT(bluez-hcidump, 2.3) + +AM_INIT_AUTOMAKE([foreign subdir-objects]) +AM_CONFIG_HEADER(config.h) + +m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) + +AM_MAINTAINER_MODE + +AC_PREFIX_DEFAULT(/usr/local) + +COMPILER_FLAGS + +AC_LANG_C + +AC_PROG_CC +AC_PROG_CC_PIE +AC_PROG_INSTALL + +AC_ARG_ENABLE(optimization, AC_HELP_STRING([--disable-optimization], + [disable code optimization through compiler]), [ + if (test "${enableval}" = "no"); then + CFLAGS="$CFLAGS -O0" + fi +]) + +AC_ARG_ENABLE(debug, AC_HELP_STRING([--enable-debug], + [enable compiling with debugging information]), [ + if (test "${enableval}" = "yes" && + test "${ac_cv_prog_cc_g}" = "yes"); then + CFLAGS="$CFLAGS -g" + fi +]) + +AC_OUTPUT(Makefile) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bluez-hcidump-2.2/configure.in new/bluez-hcidump-2.3/configure.in --- old/bluez-hcidump-2.2/configure.in 2011-12-22 01:18:58.000000000 +0100 +++ new/bluez-hcidump-2.3/configure.in 1970-01-01 01:00:00.000000000 +0100 @@ -1,36 +0,0 @@ -AC_PREREQ(2.60) -AC_INIT(bluez-hcidump, 2.2) - -AM_INIT_AUTOMAKE([foreign subdir-objects]) -AM_CONFIG_HEADER(config.h) - -m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) - -AM_MAINTAINER_MODE - -AC_PREFIX_DEFAULT(/usr/local) - -COMPILER_FLAGS - -AC_LANG_C - -AC_PROG_CC -AC_PROG_CC_PIE -AC_PROG_INSTALL - -AC_ARG_ENABLE(optimization, AC_HELP_STRING([--disable-optimization], - [disable code optimization through compiler]), [ - if (test "${enableval}" = "no"); then - CFLAGS="$CFLAGS -O0" - fi -]) - -AC_ARG_ENABLE(debug, AC_HELP_STRING([--enable-debug], - [enable compiling with debugging information]), [ - if (test "${enableval}" = "yes" && - test "${ac_cv_prog_cc_g}" = "yes"); then - CFLAGS="$CFLAGS -g" - fi -]) - -AC_OUTPUT(Makefile) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bluez-hcidump-2.2/lib/bluetooth.h new/bluez-hcidump-2.3/lib/bluetooth.h --- old/bluez-hcidump-2.2/lib/bluetooth.h 2011-12-22 01:18:58.000000000 +0100 +++ new/bluez-hcidump-2.3/lib/bluetooth.h 2012-02-29 19:23:20.000000000 +0100 @@ -63,6 +63,7 @@ #define BT_SECURITY 4 struct bt_security { uint8_t level; + uint8_t key_size; }; #define BT_SECURITY_SDP 0 #define BT_SECURITY_LOW 1 @@ -76,6 +77,33 @@ #define BT_FLUSHABLE_OFF 0 #define BT_FLUSHABLE_ON 1 +#define BT_CHANNEL_POLICY 10 + +/* BR/EDR only (default policy) + * AMP controllers cannot be used. + * Channel move requests from the remote device are denied. + * If the L2CAP channel is currently using AMP, move the channel to BR/EDR. + */ +#define BT_CHANNEL_POLICY_BREDR_ONLY 0 + +/* BR/EDR Preferred + * Allow use of AMP controllers. + * If the L2CAP channel is currently on AMP, move it to BR/EDR. + * Channel move requests from the remote device are allowed. + */ +#define BT_CHANNEL_POLICY_BREDR_PREFERRED 1 + +/* AMP Preferred + * Allow use of AMP controllers + * If the L2CAP channel is currently on BR/EDR and AMP controller + * resources are available, initiate a channel move to AMP. + * Channel move requests from the remote device are allowed. + * If the L2CAP socket has not been connected yet, try to create + * and configure the channel directly on an AMP controller rather + * than BR/EDR. + */ +#define BT_CHANNEL_POLICY_AMP_PREFERRED 2 + /* Connection and socket states */ enum { BT_CONNECTED = 1, /* Equal to TCP_ESTABLISHED to make net code happy */ @@ -126,64 +154,64 @@ } while(0) #if __BYTE_ORDER == __LITTLE_ENDIAN -static inline uint64_t bt_get_le64(void *ptr) +static inline uint64_t bt_get_le64(const void *ptr) { - return bt_get_unaligned((uint64_t *) ptr); + return bt_get_unaligned((const uint64_t *) ptr); } -static inline uint64_t bt_get_be64(void *ptr) +static inline uint64_t bt_get_be64(const void *ptr) { - return bswap_64(bt_get_unaligned((uint64_t *) ptr)); + return bswap_64(bt_get_unaligned((const uint64_t *) ptr)); } -static inline uint32_t bt_get_le32(void *ptr) +static inline uint32_t bt_get_le32(const void *ptr) { - return bt_get_unaligned((uint32_t *) ptr); + return bt_get_unaligned((const uint32_t *) ptr); } -static inline uint32_t bt_get_be32(void *ptr) +static inline uint32_t bt_get_be32(const void *ptr) { - return bswap_32(bt_get_unaligned((uint32_t *) ptr)); + return bswap_32(bt_get_unaligned((const uint32_t *) ptr)); } -static inline uint16_t bt_get_le16(void *ptr) +static inline uint16_t bt_get_le16(const void *ptr) { - return bt_get_unaligned((uint16_t *) ptr); + return bt_get_unaligned((const uint16_t *) ptr); } -static inline uint16_t bt_get_be16(void *ptr) +static inline uint16_t bt_get_be16(const void *ptr) { - return bswap_16(bt_get_unaligned((uint16_t *) ptr)); + return bswap_16(bt_get_unaligned((const uint16_t *) ptr)); } #elif __BYTE_ORDER == __BIG_ENDIAN -static inline uint64_t bt_get_le64(void *ptr) +static inline uint64_t bt_get_le64(const void *ptr) { - return bswap_64(bt_get_unaligned((uint64_t *) ptr)); + return bswap_64(bt_get_unaligned((const uint64_t *) ptr)); } -static inline uint64_t bt_get_be64(void *ptr) +static inline uint64_t bt_get_be64(const void *ptr) { - return bt_get_unaligned((uint64_t *) ptr); + return bt_get_unaligned((const uint64_t *) ptr); } -static inline uint32_t bt_get_le32(void *ptr) +static inline uint32_t bt_get_le32(const void *ptr) { - return bswap_32(bt_get_unaligned((uint32_t *) ptr)); + return bswap_32(bt_get_unaligned((const uint32_t *) ptr)); } -static inline uint32_t bt_get_be32(void *ptr) +static inline uint32_t bt_get_be32(const void *ptr) { - return bt_get_unaligned((uint32_t *) ptr); + return bt_get_unaligned((const uint32_t *) ptr); } -static inline uint16_t bt_get_le16(void *ptr) +static inline uint16_t bt_get_le16(const void *ptr) { - return bswap_16(bt_get_unaligned((uint16_t *) ptr)); + return bswap_16(bt_get_unaligned((const uint16_t *) ptr)); } -static inline uint16_t bt_get_be16(void *ptr) +static inline uint16_t bt_get_be16(const void *ptr) { - return bt_get_unaligned((uint16_t *) ptr); + return bt_get_unaligned((const uint16_t *) ptr); } #else #error "Unknown byte order" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bluez-hcidump-2.2/lib/hci.c new/bluez-hcidump-2.3/lib/hci.c --- old/bluez-hcidump-2.2/lib/hci.c 2011-12-22 01:18:58.000000000 +0100 +++ new/bluez-hcidump-2.3/lib/hci.c 2012-02-29 19:23:20.000000000 +0100 @@ -860,7 +860,7 @@ static int __other_bdaddr(int dd, int dev_id, long arg) { - struct hci_dev_info di = { dev_id: dev_id }; + struct hci_dev_info di = { .dev_id = dev_id }; if (ioctl(dd, HCIGETDEVINFO, (void *) &di)) return 0; @@ -873,7 +873,7 @@ static int __same_bdaddr(int dd, int dev_id, long arg) { - struct hci_dev_info di = { dev_id: dev_id }; + struct hci_dev_info di = { .dev_id = dev_id }; if (ioctl(dd, HCIGETDEVINFO, (void *) &di)) return 0; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bluez-hcidump-2.2/lib/hci.h new/bluez-hcidump-2.3/lib/hci.h --- old/bluez-hcidump-2.2/lib/hci.h 2011-12-22 01:18:58.000000000 +0100 +++ new/bluez-hcidump-2.3/lib/hci.h 2012-02-29 19:23:20.000000000 +0100 @@ -276,7 +276,9 @@ #define LMP_EXT_FEAT 0x80 /* Extended LMP features */ -#define LMP_HOST_LE 0x02 +#define LMP_HOST_SSP 0x01 +#define LMP_HOST_LE 0x02 +#define LMP_HOST_LE_BREDR 0x04 /* Link policies */ #define HCI_LP_RSWITCH 0x0001 @@ -1239,6 +1241,14 @@ } __attribute__ ((packed)) write_best_effort_flush_timeout_rp; #define WRITE_BEST_EFFORT_FLUSH_TIMEOUT_RP_SIZE 1 +#define OCF_READ_LE_HOST_SUPPORTED 0x006C +typedef struct { + uint8_t status; + uint8_t le; + uint8_t simul; +} __attribute__ ((packed)) read_le_host_supported_rp; +#define READ_LE_HOST_SUPPORTED_RP_SIZE 3 + #define OCF_WRITE_LE_HOST_SUPPORTED 0x006D typedef struct { uint8_t le; @@ -2270,6 +2280,7 @@ #define HCI_CHANNEL_RAW 0 #define HCI_CHANNEL_CONTROL 1 +#define HCI_CHANNEL_MONITOR 2 struct hci_filter { uint32_t type_mask; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bluez-hcidump-2.2/lib/l2cap.h new/bluez-hcidump-2.3/lib/l2cap.h --- old/bluez-hcidump-2.2/lib/l2cap.h 2011-12-22 01:18:58.000000000 +0100 +++ new/bluez-hcidump-2.3/lib/l2cap.h 2012-02-29 19:23:20.000000000 +0100 @@ -5,6 +5,7 @@ * Copyright (C) 2000-2001 Qualcomm Incorporated * Copyright (C) 2002-2003 Maxim Krasnyansky <[email protected]> * Copyright (C) 2002-2010 Marcel Holtmann <[email protected]> + * Copyright (c) 2012 Code Aurora Forum. All rights reserved. * * * This program is free software; you can redistribute it and/or modify @@ -82,6 +83,12 @@ #define L2CAP_ECHO_RSP 0x09 #define L2CAP_INFO_REQ 0x0a #define L2CAP_INFO_RSP 0x0b +#define L2CAP_CREATE_REQ 0x0c +#define L2CAP_CREATE_RSP 0x0d +#define L2CAP_MOVE_REQ 0x0e +#define L2CAP_MOVE_RSP 0x0f +#define L2CAP_MOVE_CFM 0x10 +#define L2CAP_MOVE_CFM_RSP 0x11 /* L2CAP extended feature mask */ #define L2CAP_FEAT_FLOWCTL 0x00000001 @@ -270,6 +277,44 @@ #define L2CAP_IR_SUCCESS 0x0000 #define L2CAP_IR_NOTSUPP 0x0001 +typedef struct { + uint16_t psm; + uint16_t scid; + uint8_t id; +} __attribute__ ((packed)) l2cap_create_req; +#define L2CAP_CREATE_REQ_SIZE 5 + +typedef struct { + uint16_t dcid; + uint16_t scid; + uint16_t result; + uint16_t status; +} __attribute__ ((packed)) l2cap_create_rsp; +#define L2CAP_CREATE_RSP_SIZE 8 + +typedef struct { + uint16_t icid; + uint8_t id; +} __attribute__ ((packed)) l2cap_move_req; +#define L2CAP_MOVE_REQ_SIZE 3 + +typedef struct { + uint16_t icid; + uint16_t result; +} __attribute__ ((packed)) l2cap_move_rsp; +#define L2CAP_MOVE_RSP_SIZE 4 + +typedef struct { + uint16_t icid; + uint16_t result; +} __attribute__ ((packed)) l2cap_move_cfm; +#define L2CAP_MOVE_CFM_SIZE 4 + +typedef struct { + uint16_t icid; +} __attribute__ ((packed)) l2cap_move_cfm_rsp; +#define L2CAP_MOVE_CFM_RSP_SIZE 2 + #ifdef __cplusplus } #endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bluez-hcidump-2.2/parser/att.c new/bluez-hcidump-2.3/parser/att.c --- old/bluez-hcidump-2.2/parser/att.c 2011-12-22 01:18:58.000000000 +0100 +++ new/bluez-hcidump-2.3/parser/att.c 2012-02-29 19:23:20.000000000 +0100 @@ -292,6 +292,21 @@ printf("start 0x%4.4x, end 0x%4.4x\n", start, end); } +static void print_uuid128(struct frame *frm) +{ + uint8_t uuid[16]; + int i; + + for (i = 0; i < 16; i++) + uuid[15 - i] = get_u8(frm); + + for (i = 0; i < 16; i++) { + printf("%02x", uuid[i]); + if (i == 3 || i == 5 || i == 7 || i == 9) + printf("-"); + } +} + static void att_find_info_resp_dump(int level, struct frame *frm) { uint8_t fmt = get_u8(frm); @@ -313,15 +328,10 @@ while (frm->len > 0) { uint16_t handle = btohs(htons(get_u16(frm))); - int i; p_indent(level + 1, frm); printf("handle 0x%4.4x, uuid ", handle); - for (i = 0; i < 16; i++) { - printf("%02x", get_u8(frm)); - if (i == 3 || i == 5 || i == 7 || i == 9) - printf("-"); - } + print_uuid128(frm); printf("\n"); } } @@ -359,7 +369,6 @@ { uint16_t start = btohs(htons(get_u16(frm))); uint16_t end = btohs(htons(get_u16(frm))); - int i; p_indent(level, frm); printf("start 0x%4.4x, end 0x%4.4x\n", start, end); @@ -369,11 +378,7 @@ printf("type-uuid 0x%4.4x\n", btohs(htons(get_u16(frm)))); } else if (frm->len == 16) { printf("type-uuid "); - for (i = 0; i < 16; i++) { - printf("%02x", get_u8(frm)); - if (i == 3 || i == 5 || i == 7 || i == 9) - printf("-"); - } + print_uuid128(frm); printf("\n"); } else { printf("malformed uuid (expected 2 or 16 octets)\n"); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bluez-hcidump-2.2/parser/l2cap.c new/bluez-hcidump-2.3/parser/l2cap.c --- old/bluez-hcidump-2.2/parser/l2cap.c 2011-12-22 01:18:58.000000000 +0100 +++ new/bluez-hcidump-2.3/parser/l2cap.c 2012-02-29 19:23:20.000000000 +0100 @@ -1090,6 +1090,13 @@ raw_dump(level + 1, frm); break; + case SDP_UUID_OBEX: + if (!p_filter(FILT_OBEX)) + obex_dump(level, frm); + else + raw_dump(level + 1, frm); + break; + default: if (p_filter(FILT_L2CAP)) break; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bluez-hcidump-2.2/src/hcidump.c new/bluez-hcidump-2.3/src/hcidump.c --- old/bluez-hcidump-2.2/src/hcidump.c 2011-12-22 01:18:58.000000000 +0100 +++ new/bluez-hcidump-2.3/src/hcidump.c 2012-02-29 19:23:20.000000000 +0100 @@ -855,7 +855,7 @@ " -R, --raw Dump raw data\n" " -C, --cmtp=psm PSM for CMTP\n" " -H, --hcrp=psm PSM for HCRP\n" - " -O, --obex=channel Channel for OBEX\n" + " -O, --obex=port Channel/PSM for OBEX\n" " -P, --ppp=channel Channel for PPP\n" " -D, --pppdump=file Extract PPP traffic\n" " -A, --audio=file Extract SCO audio data\n" @@ -904,6 +904,7 @@ int defpsm = 0; int defcompid = DEFAULT_COMPID; int opt, pppdump_fd = -1, audio_fd = -1; + uint16_t obex_port; while ((opt=getopt_long(argc, argv, "i:l:p:m:w:r:d:taxXRC:H:O:P:D:A:YZ46hv", main_options, NULL)) != -1) { switch(opt) { @@ -970,7 +971,11 @@ break; case 'O': - set_proto(0, 0, atoi(optarg), SDP_UUID_OBEX); + obex_port = atoi(optarg); + if (obex_port > 31) + set_proto(0, obex_port, 0, SDP_UUID_OBEX); + else + set_proto(0, 0, obex_port, SDP_UUID_OBEX); break; case 'P': -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
