platform/upstream/neard.git
10 years agondef: Rename near_ndef_prepare_hs_message
Samuel Ortiz [Wed, 19 Jun 2013 13:38:11 +0000 (15:38 +0200)]
ndef: Rename near_ndef_prepare_hs_message

near_ndef_prepare_hs_message() does not prepare a generic handover
select message but rather a reply to a handover request.
Those 2 have to be differentiated in order to implement static handover
where a handover select frame is sent without having first seen a
handover request.

10 years agondef: Rename build_ho_record
Samuel Ortiz [Wed, 19 Jun 2013 13:32:31 +0000 (15:32 +0200)]
ndef: Rename build_ho_record

build_ho_record is used for initiating negotiated handover, so it will
only send handover requests.
As such, rename build_ho_record to build_hr_record.

10 years agonfctool: sniffer: Dump unknown WSC data elements
Samuel Ortiz [Wed, 19 Jun 2013 08:41:50 +0000 (10:41 +0200)]
nfctool: sniffer: Dump unknown WSC data elements

Don't drop them silently.

10 years agogdbus: Remove proxies when client disconnects
Henrique Dante de Almeida [Mon, 27 May 2013 17:15:34 +0000 (14:15 -0300)]
gdbus: Remove proxies when client disconnects

Remove proxies and generate proxy_removed callbacks even when there are
no corresponding InterfaceRemoved signals.

This patch fixes having zombie gdbus proxy object when a server
disconnects without sending InterfaceRemoved signals. These objects
may interact with new server instances, for example, making
InterfaceAdded signals of new objects with the same name be filtered
out as duplicated, or staying allocated, but unused, if the new server
doesn't reuse the object paths. Note that as a side-effect, the
lifetime of a gdbus proxy becomes stricter: it lives at most for the
duration of a single connection to a single instance of a server
process.

10 years agonfctool: sniffer: Decode application/vnd.wfa.wsc MIME records
Samuel Ortiz [Tue, 18 Jun 2013 17:40:22 +0000 (19:40 +0200)]
nfctool: sniffer: Decode application/vnd.wfa.wsc MIME records

10 years agotest: Add MIME type to the Device pushing options
Samuel Ortiz [Tue, 18 Jun 2013 17:38:26 +0000 (19:38 +0200)]
test: Add MIME type to the Device pushing options

Only wifi_wsc is supported for now, i.e. one can only push WSC
configuration tokens over SNEP.

10 years agondef: Fallback to the WiFi agent when missing an SSID
Samuel Ortiz [Tue, 18 Jun 2013 17:35:13 +0000 (19:35 +0200)]
ndef: Fallback to the WiFi agent when missing an SSID

When the D-Bus message does not contain an SSID (and optionalyy a
passphrase) then we fallback to the WiFi WSC agent. If it's running
in tethering mode then it will reply with an already built WSC TLV
array.
This is needed to push WiFi WSC configuration token over SNEP. Android
is going to support that as a simplified WiFi Handover.

10 years agonfctype4: Fix segmentation fault on invalid access key
Olivier Guiter [Mon, 17 Jun 2013 14:42:41 +0000 (16:42 +0200)]
nfctype4: Fix segmentation fault on invalid access key

If length is < 0, further access to the resp buffer will cause neard to
seg fault.

10 years agobluetooth: Fix memory leaks on error or when not pairing
Guillem Jover [Sat, 1 Jun 2013 16:01:57 +0000 (18:01 +0200)]
bluetooth: Fix memory leaks on error or when not pairing

Warned-by: cppcheck
10 years agonpp: Fix memory leak on allocation error
Guillem Jover [Sat, 1 Jun 2013 16:00:15 +0000 (18:00 +0200)]
npp: Fix memory leak on allocation error

The pointer to a realloc() function does not get touched on error, so
we need to check if the function failed and either free or update the
pointer.

Warned-by: cppcheck
10 years agop2p: Coding style violation fixes
Olivier Guiter [Mon, 10 Jun 2013 15:47:13 +0000 (17:47 +0200)]
p2p: Coding style violation fixes

10 years agop2p: Check for an already existing p2p driver from near_p2p_register
Olivier Guiter [Mon, 10 Jun 2013 15:44:06 +0000 (17:44 +0200)]
p2p: Check for an already existing p2p driver from near_p2p_register

If there already is a driver handling this service name, -EALREADY is
returned.

10 years agonfctool: sniffer: Print Handover I frames as NDEF
Samuel Ortiz [Fri, 14 Jun 2013 15:30:11 +0000 (17:30 +0200)]
nfctool: sniffer: Print Handover I frames as NDEF

Handover information frames are actually pure NDEFs, so decode them as
such since it is now possible to detect Handover specific traffic.

10 years agonfctool: sniffer: CONNECT and CC frames tracking
Samuel Ortiz [Fri, 14 Jun 2013 15:23:03 +0000 (17:23 +0200)]
nfctool: sniffer: CONNECT and CC frames tracking

In order to map an SAP with the righ service name, CONNECT and CC frames
need to be tracked along with their dsap/ssap.
When finding an SN, it means a CONNECT frame has been monitored. The SN
string is then associated with the SSAP. Upon CC sniffing, the DSAP is
fetched and if a pending SN for this DSAP is found, the service name
lookup is done.
With this mechanism it is now possible to know the e.g. the Handover SAP
and decode its I frames as pure NDEF ones.
This tracking will only work with connection by name (Which is what the
vast majority of platforms do). An enhancement would be to track SNL
packets as well.

10 years agonfctool: sniffer: Handle Bluetooth Handover records
Samuel Ortiz [Fri, 14 Jun 2013 13:37:49 +0000 (15:37 +0200)]
nfctool: sniffer: Handle Bluetooth Handover records

If the MIME string is "application/vnd.bluetooth.ep.oob" then the
Bluetooth OOB data is parsed and output appropriately.
AC and CR records are not parsed yet.

10 years agonfctool: sniffer: Output the MIME type value
Samuel Ortiz [Thu, 13 Jun 2013 14:45:55 +0000 (16:45 +0200)]
nfctool: sniffer: Output the MIME type value

This is needed for handover sniffing.

10 years agonfctool: sniffer: A record's TNF is not a boolean
Samuel Ortiz [Thu, 13 Jun 2013 14:18:23 +0000 (16:18 +0200)]
nfctool: sniffer: A record's TNF is not a boolean

A record TNF (Type Name Format) is on 3 bits and thus should not be the
result of a boolean comparison.

10 years agonfctool: sniffer: Support multiple records per NDEF
Samuel Ortiz [Thu, 13 Jun 2013 13:57:56 +0000 (15:57 +0200)]
nfctool: sniffer: Support multiple records per NDEF

Two offsets are needed to track the record current pointer and the NDEF
one.

11 years agoagent: Do not call NDEF agent Release when agent leaves
Samuel Ortiz [Wed, 12 Jun 2013 16:32:58 +0000 (18:32 +0200)]
agent: Do not call NDEF agent Release when agent leaves

The Release method should only be called when neard leaves. neard
doesn't need to notify an agent that's explicitly leaving.

11 years agotest: Fix Text NDEF representation
Samuel Ortiz [Wed, 12 Jun 2013 15:07:39 +0000 (17:07 +0200)]
test: Fix Text NDEF representation

The Text NDEF representation could be non ASCII strings (UTF-8 or
UTF-16) and the dumping scripts need to know about that.

Fixes #NFC-48

11 years agondef: Do not fail if NDEF record MIME type is not a handover one
Samuel Ortiz [Wed, 12 Jun 2013 08:49:18 +0000 (10:49 +0200)]
ndef: Do not fail if NDEF record MIME type is not a handover one

NDEFs with MIME type records that are not WSC or Bluetooth ones are not
wrong. Their payload won't be processed but the record is kept and
linked to the discovered tag.
NDEF agents will get the binary payload.

Fixes #NFC-45

11 years agoadapter: Pass the right adapter index when auto powering adapters
Samuel Ortiz [Mon, 10 Jun 2013 13:37:17 +0000 (15:37 +0200)]
adapter: Pass the right adapter index when auto powering adapters

When calling __near_netlink_adapter_enable(), adapter->idx is not yet
set. The right adapter index to pass is the __near_adapter_create()
argument.

11 years agovalidation: Add MIUX support
Olivier Guiter [Mon, 3 Jun 2013 13:45:08 +0000 (15:45 +0200)]
validation: Add MIUX support

The MIUX value is now read from the socket options, allowing for a dynamic
SDU buffer allocation.

11 years agosnep: Fix fragmented GET
Samuel Ortiz [Sat, 8 Jun 2013 00:23:46 +0000 (02:23 +0200)]
snep: Fix fragmented GET

When receiving a CONTINUE while nfc_data_length is set to 0, it must
be a CONTINUE for a fragmented GET. The headers are thus read in order
to modify snep_data->request and then process the right request.
This fixes the GET fragmented unit test.

11 years agosnep: Fix SNEP fragmentation
Samuel Ortiz [Sat, 8 Jun 2013 00:11:18 +0000 (02:11 +0200)]
snep: Fix SNEP fragmentation

The intial request is kept through the snep_data and
snep_core_process_request no longer relies on the last read frame to
build an answer but only on the snep_data pointer.
Without this fix, each fragment from a fragmented PUT was handled as
a complete SNEP frame (header included) which caused process_request
to get completely confused about how to handle fragments.
Now that snep_core_read is fixed, the fragmentation SNEP unit test can
be fixed as well.

11 years agovalidation: Fix memory leak from llcp_send_data
Olivier Guiter [Wed, 29 May 2013 08:33:10 +0000 (10:33 +0200)]
validation: Fix memory leak from llcp_send_data

When send or sendto fails the SDU still needs to be freed.

11 years agodoc: Fix NDEF agent GetNDEF prototype
Samuel Ortiz [Fri, 31 May 2013 09:08:22 +0000 (11:08 +0200)]
doc: Fix NDEF agent GetNDEF prototype

GetNDEF does not return any dictionary, it takes one as a parameter.

11 years agonfctype4: Add support for type4 B tags
Samuel Ortiz [Thu, 30 May 2013 16:15:31 +0000 (18:15 +0200)]
nfctype4: Add support for type4 B tags

4a and 4b tags follow the same specs: the type 4 one from the NFC
Forum.

11 years agotag: Set type B tag type properly
Samuel Ortiz [Thu, 30 May 2013 16:09:50 +0000 (18:09 +0200)]
tag: Set type B tag type properly

When receiving a 14443-B protocol mask, we should set the tag type to
NFC-B.

11 years agonfctool: sniffer: Fix fragmented SNEP output
Samuel Ortiz [Thu, 30 May 2013 12:47:30 +0000 (14:47 +0200)]
nfctool: sniffer: Fix fragmented SNEP output

Display the right string depending ont the direction.

11 years agop2p: Fall back to blocking sockets if the async connection fails
Samuel Ortiz [Wed, 22 May 2013 16:12:56 +0000 (18:12 +0200)]
p2p: Fall back to blocking sockets if the async connection fails

Due to a kernel bug, trying to connect through a non blocking socket
may fail and return POLLHUP. In that case the connection procedure falls
back to using blocking sockets and this needs to be delayed until the
kernel sends a DM to the peer.
This is slightly hackish but this code path should get obsolete once
neard runs on top of 3.10 or later kernels.

11 years agop2p: Non blocking client socket
Samuel Ortiz [Wed, 22 May 2013 15:48:26 +0000 (17:48 +0200)]
p2p: Non blocking client socket

The p2p client connection used to be a blocking one, which can be quite
harmful when for some reason the peer does not reply to a connection
request.
The client socket is non blocking now and the actual push is handled
by a GLib watch callback.

11 years agop2p: Set connection timeout
Samuel Ortiz [Tue, 21 May 2013 17:02:05 +0000 (19:02 +0200)]
p2p: Set connection timeout

The connect() call should not block forever. The 8 seconds timeout makes
it for approximately 3 times the maximum LTO and that seems to be plenty
of time for a peer to reply to an LLCP connection.

11 years agonfctool: sniffer: Set the time string first character to 0
Samuel Ortiz [Tue, 21 May 2013 10:35:30 +0000 (12:35 +0200)]
nfctool: sniffer: Set the time string first character to 0

If the show_timestamp option is disabled, the string needs to be properly
terminated.

11 years agonfctool: Power up the device when start poll
Thierry Escande [Fri, 3 May 2013 15:03:05 +0000 (17:03 +0200)]
nfctool: Power up the device when start poll

with --poll, --enable is now implicit

11 years agonfctool: Add command line options to power up or down a device
Thierry Escande [Fri, 3 May 2013 15:03:04 +0000 (17:03 +0200)]
nfctool: Add command line options to power up or down a device

--enable (-1 for short) turns the specified device on
--disable (-0) turns it off

If both are specified, only --enable is applied

11 years agogdbus: Fix using NULL DBusPendingCall when disconnected from D-Bus
Anderson Lizardo [Sat, 4 May 2013 19:39:43 +0000 (15:39 -0400)]
gdbus: Fix using NULL DBusPendingCall when disconnected from D-Bus

From D-Bus documentation for dbus_connection_send_with_reply():

"Warning: if the connection is disconnected or you try to send Unix file
descriptors on a connection that does not support them, the
DBusPendingCall will be set to NULL, so be careful with this."

Fix these errors when killing D-Bus daemon with the client still
running:

process 5712: arguments to dbus_pending_call_set_notify() were
incorrect, assertion "pending != NULL" failed in file
../../dbus/dbus-pending-call.c line 596.
This is normally a bug in some application using the D-Bus library.
process 5712: arguments to dbus_pending_call_unref() were incorrect,
assertion "pending != NULL" failed in file
../../dbus/dbus-pending-call.c line 572.
This is normally a bug in some application using the D-Bus library.

11 years agogdbus: Fix segfault when D-Bus daemon exits
Anderson Lizardo [Sat, 4 May 2013 19:39:42 +0000 (15:39 -0400)]
gdbus: Fix segfault when D-Bus daemon exits

Fix this crash if D-Bus exits while the client is still connected to it:

==5570== Invalid read of size 1
==5570==    at 0x402D28E: strcmp (in
/usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
==5570==    by 0x4070E22: g_str_equal (ghash.c:1704)
==5570==    by 0x8055F61: message_filter (client.c:1123)
==5570==    by 0x4141500: dbus_connection_dispatch (in
/lib/i386-linux-gnu/libdbus-1.so.3.5.8)
==5570==    by 0x80506F7: message_dispatch (mainloop.c:76)
==5570==    by 0x4081A7E: g_timeout_dispatch (gmain.c:3882)
==5570==    by 0x4080D85: g_main_context_dispatch (gmain.c:2539)
==5570==    by 0x4081124: g_main_context_iterate.isra.21 (gmain.c:3146)
==5570==    by 0x408156A: g_main_loop_run (gmain.c:3340)
==5570==    by 0x41BF4D2: (below main) (libc-start.c:226)
==5570==  Address 0x0 is not stack'd, malloc'd or (recently) free'd
==5570==
==5570==

11 years agogdbus: Fix calling GetManagedObjects twice in a row
Luiz Augusto von Dentz [Thu, 18 Apr 2013 20:34:03 +0000 (23:34 +0300)]
gdbus: Fix calling GetManagedObjects twice in a row

Calling g_dbus_client_new followed by g_dbus_client_set_proxy_handlers
cause two calls to GetManagedObjects in a row as GetNameOwner reply is
asyncronously it triggers the second call because the handlers have
been set by g_dbus_client_set_proxy_handlers.

11 years agonfctool: sniffer: Add NDEF decoding support
Thierry Escande [Thu, 2 May 2013 16:19:29 +0000 (18:19 +0200)]
nfctool: sniffer: Add NDEF decoding support

This adds support for decoding NDEF records embedded in SNEP packets

11 years agonfctool: sniffer: Reduce hexa dump line width
Thierry Escande [Thu, 2 May 2013 16:19:28 +0000 (18:19 +0200)]
nfctool: sniffer: Reduce hexa dump line width

If we display less than 0xFFFF bytes (which will be the case 99.999%
of the time) the offset value is truncated and the 2 first zero bytes
are not displayed.

11 years agonfctool: sniffer: Add a snep_printf_error
Thierry Escande [Thu, 2 May 2013 16:19:27 +0000 (18:19 +0200)]
nfctool: sniffer: Add a snep_printf_error

This will print SNEP decoding errors in bold red

11 years agonfctool: sniffer: Fix over 80 chars macro
Samuel Ortiz [Thu, 2 May 2013 16:02:18 +0000 (18:02 +0200)]
nfctool: sniffer: Fix over 80 chars macro

11 years agonftool: sniffer: Remove new line from snep_printf_msg calls
Samuel Ortiz [Thu, 2 May 2013 15:58:23 +0000 (17:58 +0200)]
nftool: sniffer: Remove new line from snep_printf_msg calls

snep_printf_msg already contains one.

11 years agonfctool: sniffer: Color LLCP dumps
Samuel Ortiz [Thu, 2 May 2013 14:28:46 +0000 (16:28 +0200)]
nfctool: sniffer: Color LLCP dumps

11 years agonfctool: sniffer: Simplify print_pdu routine
Samuel Ortiz [Thu, 2 May 2013 11:10:44 +0000 (13:10 +0200)]
nfctool: sniffer: Simplify print_pdu routine

And prepare for more colors...

11 years agonfctool: Initial color support
Samuel Ortiz [Thu, 2 May 2013 10:51:37 +0000 (12:51 +0200)]
nfctool: Initial color support

SNEP decoding is colored now, for a more readable output.

11 years agonfctool: sniffer: Change the sniffer hexdump prototype
Samuel Ortiz [Thu, 2 May 2013 10:48:04 +0000 (12:48 +0200)]
nfctool: sniffer: Change the sniffer hexdump prototype

Take an indentation length instead of a generic prefix, as this is
what's only used anyway.

11 years agonfctool: sniffer: Fix SNEP output string
Samuel Ortiz [Thu, 2 May 2013 08:21:26 +0000 (10:21 +0200)]
nfctool: sniffer: Fix SNEP output string

SNEP stands for Simple NDEF Exchange Protocol, not Messaging Protocol.

11 years agonfctool: sniffer: Add SNEP decoding
Thierry Escande [Thu, 25 Apr 2013 11:03:03 +0000 (13:03 +0200)]
nfctool: sniffer: Add SNEP decoding

This adds support for decoding Simple NDF Message Protocol. The SNEP decoder
supports aggregation of fragmented messages.

11 years agonfctool: sniffer: ssap and dsap were displayed switched
Thierry Escande [Thu, 25 Apr 2013 11:03:02 +0000 (13:03 +0200)]
nfctool: sniffer: ssap and dsap were displayed switched

In the LLCP header of a received frame, dsap is the local port and ssap is the
remote port. ssap and dsap fields of the sniffer_packet structure have been
renamed to local_sap and remote_sap to avoid confusion.

11 years agonfctool: sniffer: Group sniffed packet info into the same struct
Thierry Escande [Thu, 25 Apr 2013 11:03:01 +0000 (13:03 +0200)]
nfctool: sniffer: Group sniffed packet info into the same struct

Raw socket header (direction and adapter index) and LLCP info are now stored
into the same struct (sniffer_packet). This structure is then passed to PDU
specific decoding functions.

11 years agonfctool: Fix a memory leak
Thierry Escande [Thu, 25 Apr 2013 11:03:00 +0000 (13:03 +0200)]
nfctool: Fix a memory leak

The handlers hash table was not freed

11 years agonfctyp3: Set cookie cb to NULL when read succeeds
Arron Wang [Mon, 22 Apr 2013 09:19:53 +0000 (17:19 +0800)]
nfctyp3: Set cookie cb to NULL when read succeeds

Otherwise the callback function may be call twice and
write_msg is unreferenced twice:

process 1868: arguments to dbus_message_unref() were incorrect,
assertion "message != NULL" failed in file dbus-message.c line 1616
0  0xb7fe1424 in __kernel_vsyscall ()
1  0xb7bcfcc1 in raise () from /lib/libc.so.6
2  0xb7bd30ee in abort () from /lib/libc.so.6
3  0xb7da5045 in _dbus_abort () from /usr/lib/libdbus-1.so.3
4  0xb7d99f86 in _dbus_warn_check_failed () from /usr/lib/libdbus-1.so.3
5  0xb7d8856e in dbus_message_unref () from /usr/lib/libdbus-1.so.3
6  0x08062a63 in tag_read_cb (adapter_idx=0, target_idx=6, status=0)
    at src/tag.c:240
7  0x08063277 in near_tag_add_records (tag=0x8081a30, records=0x8080270,
    cb=0x8062a30 <tag_read_cb>, status=0) at src/tag.c:814

11 years agobluetooth: Get name value from right message iterator
Arron Wang [Mon, 22 Apr 2013 09:19:23 +0000 (17:19 +0800)]
bluetooth: Get name value from right message iterator

We need to get name value from var instead of the container iter
else it may also cause neard crash:
process 1044: type variant 118 not a basic type
0  0xb7fe1424 in __kernel_vsyscall ()
1  0xb7bcfcc1 in raise () from /lib/libc.so.6
2  0xb7bd30ee in abort () from /lib/libc.so.6
3  0xb7da5045 in _dbus_abort () from /usr/lib/libdbus-1.so.3
4  0xb7d99f86 in _dbus_warn_check_failed () from /usr/lib/libdbus-1.so.3
5  0xb7d9bc9c in _dbus_marshal_read_basic () from /usr/lib/libdbus-1.so.3
6  0xb7d84e0f in _dbus_type_reader_read_basic () from /usr/lib/libdbus-1.so.3
7  0xb7d89f0b in dbus_message_iter_get_basic () from /usr/lib/libdbus-1.so.3
8  0x0806b638 in bt_adapter_property_changed (conn=0x80814c8,
    message=0x8081870, user_data=0x0) at src/bluetooth.c:445

11 years agoRelease 0.11 0.11
Samuel Ortiz [Wed, 17 Apr 2013 10:33:32 +0000 (12:33 +0200)]
Release 0.11

11 years agounit: Fix broken SNEP read unit test
Olivier Guiter [Mon, 15 Apr 2013 11:36:55 +0000 (13:36 +0200)]
unit: Fix broken SNEP read unit test

In "crash-1" loop, the snep_data was added to the slist, but not removed
because of a specific exit condition. This fix swaps the test condition
and the action on slist, in order to add the fragment only when the length
test passed.

11 years agonfctool: Correct unsigned int comparison
Thierry Escande [Mon, 8 Apr 2013 16:55:29 +0000 (18:55 +0200)]
nfctool: Correct unsigned int comparison

An uint can't be less than 0...

11 years agonfctool: Make good use of snap_len option
Thierry Escande [Mon, 8 Apr 2013 16:55:28 +0000 (18:55 +0200)]
nfctool: Make good use of snap_len option

snap_len now really limits sniffer output.

11 years agonfctool: Set sniffer buffer large enough to handle MAX_MIU bytes frames
Thierry Escande [Mon, 8 Apr 2013 16:55:27 +0000 (18:55 +0200)]
nfctool: Set sniffer buffer large enough to handle MAX_MIU bytes frames

This fixes the size of the recv buffer for the sniffer. Frames can be
up to 7ff+128+(llcp, seq, and raw headers) bytes.

11 years agomain.conf: Add DefaultPowered configuration
Samuel Ortiz [Wed, 10 Apr 2013 10:14:33 +0000 (12:14 +0200)]
main.conf: Add DefaultPowered configuration

DefaultPowered is a boolean and will force neard into turning any detected
adapter on when set to TRUE.

11 years agogdbus: Use gcc builtin instead of g_atomic
Lucas De Marchi [Mon, 8 Apr 2013 20:56:18 +0000 (17:56 -0300)]
gdbus: Use gcc builtin instead of g_atomic

g_atomic_* end up using G_STATIC_ASSERT, causing gcc 4.8 to yell due to
-Wunused-local-typedefs.

gdbus/client.c: In function ‘g_dbus_client_ref’:
/usr/include/glib-2.0/glib/gmacros.h:162:53: error: typedef ‘_GStaticAssertCompileTimeAssertion_2’ locally defined but not used [-Werror=unused-local-typedefs]
 #define G_STATIC_ASSERT(expr) typedef char G_PASTE (_GStaticAssertCompileTimeAssertion_, __COUNTER__)[(expr) ? 1 : -1]

11 years agogdbus: Fix not calling property_changed callback
Luiz Augusto von Dentz [Wed, 27 Feb 2013 12:00:23 +0000 (14:00 +0200)]
gdbus: Fix not calling property_changed callback

In case a property did not appear by the time proxy_added was called
property_changed has to be called if it appear latter otherwise the
application will be unaware of it.

11 years agollcp: Validation test server
Olivier Guiter [Thu, 4 Apr 2013 12:02:13 +0000 (14:02 +0200)]
llcp: Validation test server

This llcp validation server follows NFC Forum requirements and scenarios
and supports the initial list of 9 test cases.
Most of these tests rely on sending frames to an echo server, using
connection less or connection oriented modes.

11 years agop2p: Add support for connection less binding
Olivier Guiter [Thu, 4 Apr 2013 12:02:12 +0000 (14:02 +0200)]
p2p: Add support for connection less binding

Some validation tests are done in connection less mode. near_p2p_driver
now handles not only stream socket but also datagram socket.

11 years agounit: Add WSC NDEF build test case
Ravi kumar Veeramally [Thu, 4 Apr 2013 14:02:36 +0000 (17:02 +0300)]
unit: Add WSC NDEF build test case

Added test cases to test WSC MIME type NDEF build.

11 years agondef: Add api to prepare mime type wsc record
Ravi kumar Veeramally [Thu, 4 Apr 2013 14:02:35 +0000 (17:02 +0300)]
ndef: Add api to prepare mime type wsc record

Added api to prepare MIME type WSC record for unit tests.

11 years agondef: Remove unnecessary debug statement
Ravi kumar Veeramally [Thu, 4 Apr 2013 14:02:34 +0000 (17:02 +0300)]
ndef: Remove unnecessary debug statement

Removed unnecessary debug statement which is added with
56a275c8841352a9c8a60bdcb3e63ba69fe783c6 commit.

11 years agonfc_copy: Update with new socket options
Samuel Ortiz [Fri, 5 Apr 2013 13:49:33 +0000 (15:49 +0200)]
nfc_copy: Update with new socket options

11 years agounit: Support for SNEP REJECT request
Marcin Malagowski [Tue, 26 Mar 2013 18:25:04 +0000 (19:25 +0100)]
unit: Support for SNEP REJECT request

11 years agounit: Fixed cleaning SNEP fragments
Marcin Malagowski [Tue, 26 Mar 2013 18:25:03 +0000 (19:25 +0100)]
unit: Fixed cleaning SNEP fragments

If sending the fragment fails, server should remove all
the remaining fragments.

11 years agotest: Add test script to write mime type on tag
Ravi kumar Veeramally [Wed, 3 Apr 2013 12:37:27 +0000 (15:37 +0300)]
test: Add test script to write mime type on tag

Added test script to write mime type on tag. Currently it
supports application/vnd.wfa.wsc mime type.

11 years agondef: Add support to build wifi_wsc mime type ndef record
Ravi kumar Veeramally [Wed, 3 Apr 2013 12:37:26 +0000 (15:37 +0300)]
ndef: Add support to build wifi_wsc mime type ndef record

Implemented mime type record building upon dbus request.
Currently it supports application/vnd.wfa.wsc.

11 years agonfctool: Print length of buffer before its hexadecimal dump
Thierry Escande [Mon, 25 Mar 2013 16:45:54 +0000 (17:45 +0100)]
nfctool: Print length of buffer before its hexadecimal dump

11 years agonfctool: Fix some integer sizes and signedness
Thierry Escande [Mon, 25 Mar 2013 16:45:53 +0000 (17:45 +0100)]
nfctool: Fix some integer sizes and signedness

Also, use glib types to be coherent.

11 years agonfctool: Fix aggregated frame support
Thierry Escande [Mon, 25 Mar 2013 16:45:52 +0000 (17:45 +0100)]
nfctool: Fix aggregated frame support

This adds the llcp sniffer pseudo header to PDUs extracted from the
aggregated frames before re-entering llcp_print_pdu.

11 years agondef: Remove not used Doxygen annotations
Szymon Janc [Mon, 25 Mar 2013 10:48:01 +0000 (11:48 +0100)]
ndef: Remove not used Doxygen annotations

As previous commit shows doxygen annotation are not really used.
Those annotations require also more focus when reading (and mostly
describe obvious parts of the code) comparing to simple comments.
Also not used doxygen annotations tend to drift away from actual code
and simply confuse developer.

Simply remove doxygen annotations as functions and params names are
self-explanatory anyway. Some comments where left to document
non-obvious behaviour.

11 years agondef: Remove bogus text from near_ndef_parse_msg comment
Szymon Janc [Mon, 25 Mar 2013 10:48:00 +0000 (11:48 +0100)]
ndef: Remove bogus text from near_ndef_parse_msg comment

This was accidentally pasted in commit 8a141753.

11 years agondef: Use sizeof instead of strlen to get BT_MIME_STRING_2_0 len
Szymon Janc [Mon, 25 Mar 2013 10:47:59 +0000 (11:47 +0100)]
ndef: Use sizeof instead of strlen to get BT_MIME_STRING_2_0 len

This is a constant string and there is no need to calculate its length
in runtime.

11 years agondef: Fix some typos in comments and debug messages
Szymon Janc [Mon, 25 Mar 2013 10:47:58 +0000 (11:47 +0100)]
ndef: Fix some typos in comments and debug messages

11 years agondef: Simplify near_ndef_prepare_ac_and_cfg_records function
Szymon Janc [Mon, 25 Mar 2013 10:47:56 +0000 (11:47 +0100)]
ndef: Simplify near_ndef_prepare_ac_and_cfg_records function

Make error path a bit cleaner and easier to understand. This also makes
code less confusing to some GCC version (eg. 4.6.3 on Debian ARM) about
variables mime_type and cdr being used without initialization.

make --no-print-directory all-am
  CC     src/ndef.o
src/ndef.c: In function ‘near_ndef_prepare_ac_and_cfg_records’:
src/ndef.c:1758:6: error: ‘mime_type’ may be used uninitialized in this
  function [-Werror=uninitialized]
src/ndef.c:1781:8: note: ‘mime_type’ was declared here
src/ndef.c:1835:36: error: ‘cdr’ may be used uninitialized in this
  function [-Werror=uninitialized]
cc1: all warnings being treated as errors
make[1]: *** [src/ndef.o] Error 1
make: *** [all] Error 2

11 years agosnep-validation: Fix compilation on ARM due to unaligned memory access
Szymon Janc [Mon, 25 Mar 2013 10:47:55 +0000 (11:47 +0100)]
snep-validation: Fix compilation on ARM due to unaligned memory access

Use near_get_be32 helper function to access nfc_data. Although there is
most likely no risk of unaligned access since nfc_data is allocated
from heap (and properly alligned as access starts from first byte) this
result in compilation error on ARM (Debian GCC 4.6.3).

plugins/snep-validation.c: In function ‘snep_validation_server_req_get’:
plugins/snep-validation.c:155:22: error: cast increases required alignment
  of target type [-Werror=cast-align]
cc1: all warnings being treated as errors
make[1]: *** [plugins/snep-validation.o] Error 1
make: *** [all] Error 2

11 years agop2p: Support for single connection server
Samuel Ortiz [Mon, 25 Mar 2013 16:48:03 +0000 (17:48 +0100)]
p2p: Support for single connection server

The LLCP validation tests require to reject any connection once a client
is connected. Which means a new listen should start iff the current
connection is closed. For that a single_connection field is added to the
p2p_driver structure and the p2p_bind code is factorized so that the
client close hook can call it without re-allocating a server data pointer.

11 years agomain: Wait to daemonize to just before entering the main loop
Guillem Jover [Mon, 25 Mar 2013 11:44:07 +0000 (12:44 +0100)]
main: Wait to daemonize to just before entering the main loop

To be able to get correct exit codes in case of error, we have to delay
the daemonization to just before entering the main loop. Otherwise the
init scripts might assume everything started fine and go ahead when that
was not the case.

The initialization error messages are printed to syslog instead of
stderr, which would need a rework in the future of either the logging
functions, or the call sites to distinguish what belongs where. But at
least for now we get correct exit values.

11 years agounit: Sanitize NDEF test names
Samuel Ortiz [Mon, 25 Mar 2013 11:14:59 +0000 (12:14 +0100)]
unit: Sanitize NDEF test names

11 years agounit: Sanitize SNEP test names
Samuel Ortiz [Mon, 25 Mar 2013 11:11:13 +0000 (12:11 +0100)]
unit: Sanitize SNEP test names

11 years agoAUTHORS: Mention Marcin's contributions
Samuel Ortiz [Mon, 25 Mar 2013 11:06:44 +0000 (12:06 +0100)]
AUTHORS: Mention Marcin's contributions

11 years agounit: Remove SNEP routines forward declarations
Samuel Ortiz [Mon, 25 Mar 2013 11:05:21 +0000 (12:05 +0100)]
unit: Remove SNEP routines forward declarations

11 years agounit: Add SNEP PUT/GET NDEF test
Marcin Malagowski [Sat, 23 Mar 2013 11:40:27 +0000 (12:40 +0100)]
unit: Add SNEP PUT/GET NDEF test

11 years agounit: Add SNEP GET request "fragmented" test
Marcin Malagowski [Sat, 23 Mar 2013 11:40:26 +0000 (12:40 +0100)]
unit: Add SNEP GET request "fragmented" test

11 years agounit: Add SNEP GET request "not implemented" test
Marcin Malagowski [Sat, 23 Mar 2013 11:40:25 +0000 (12:40 +0100)]
unit: Add SNEP GET request "not implemented" test

11 years agounit: Add SNEP GET request "ok" test
Marcin Malagowski [Sat, 23 Mar 2013 11:40:24 +0000 (12:40 +0100)]
unit: Add SNEP GET request "ok" test

11 years agounit: Add SNEP PUT request "fragmented" test
Marcin Malagowski [Sat, 23 Mar 2013 11:40:23 +0000 (12:40 +0100)]
unit: Add SNEP PUT request "fragmented" test

11 years agounit: Add SNEP PUT request "feature not implemented" test
Marcin Malagowski [Sat, 23 Mar 2013 11:40:22 +0000 (12:40 +0100)]
unit: Add SNEP PUT request "feature not implemented" test

11 years agounit: Add SNEP PUT request "unsupported version" test
Marcin Malagowski [Sat, 23 Mar 2013 11:40:21 +0000 (12:40 +0100)]
unit: Add SNEP PUT request "unsupported version" test

11 years agounit: Add SNEP PUT request "ok" test
Marcin Malagowski [Sat, 23 Mar 2013 11:40:20 +0000 (12:40 +0100)]
unit: Add SNEP PUT request "ok" test

11 years agounit: Add SNEP test utilities
Marcin Malagowski [Sat, 23 Mar 2013 11:40:19 +0000 (12:40 +0100)]
unit: Add SNEP test utilities

11 years agobuild: Remove unused linking of neard against libresolv
Guillem Jover [Fri, 22 Mar 2013 18:53:12 +0000 (19:53 +0100)]
build: Remove unused linking of neard against libresolv

11 years agonfctool: Fix pointer casting errors on ARM
Waldemar Rymarkiewicz [Tue, 12 Mar 2013 10:46:18 +0000 (11:46 +0100)]
nfctool: Fix pointer casting errors on ARM

On GLib 2.28, Macro GINT_TO_POINTER on ARM will fail
as it won't cast implicitly to int before casting to gpointer.

It results in casting uint8 directly to void *, which will
not do the job on some ARM processors.

Error message:

tools/nfctool/netlink.c: In function ‘nl_nfc_event_cb’:
tools/nfctool/netlink.c:686:39: error: cast to pointer from
integer of different size [-Werror=int-to-pointer-cast]
tools/nfctool/netlink.c: In function ‘nl_add_event_handler’:
tools/nfctool/netlink.c:731:35: error: cast to pointer from
integer of different size [-Werror=int-to-pointer-cast]

11 years agoconfigure: Remove init script skeleton
Samuel Ortiz [Fri, 22 Mar 2013 14:21:24 +0000 (15:21 +0100)]
configure: Remove init script skeleton

All distros use their own flavor of it, and several are systemd
based. An init script skeleton is probably useless.