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]

Reply via email to