Commit Graph

66 Commits

Author SHA1 Message Date
Harald Welte 7b907ec4d4 use more dynamically-allocated structures as opposed to stack-allocated 2010-07-19 22:05:40 +02:00
Harald Welte ed59503766 link existing (incomplete) TC-U-ABORT.req code to TC-User API 2010-07-19 19:59:29 +02:00
Harald Welte 802d8ca108 use the existing TC-UNI.req support 2010-07-19 19:56:39 +02:00
Harald Welte e7c849d4f0 implement TC-U-CANCEL.req 2010-07-19 19:54:16 +02:00
Harald Welte fead1fffd4 implement TC-U-REJECT.req 2010-07-19 19:46:11 +02:00
Harald Welte d5c4b8ef20 Implement TC-U-ERROR.req primitive 2010-07-19 19:21:16 +02:00
Harald Welte 57058f3600 Don't use stack-based libasn1c objects for component primitives
In order for the recursive free-ing of libasn1c data structures to
work, we cannot have some of them stack-allocated.
2010-07-19 18:33:53 +02:00
Harald Welte a7c47009c9 Make TC-user signalling of TC-RESULT-{L,NL} work 2010-07-19 16:29:51 +02:00
Harald Welte a764e40c80 bring libosm-tcap more in line with libasn1c's use of talloc
libasn1c expects all data structures to be heap-allocated, whereas
we used to allocate some of them on the stack, which causes problems
at free() time.

As a side-effect, we had to remove the 'struct tcap_component' and
replace its list_head in tcap_dialogue with a 'struct ComponentPortion'
2010-07-19 15:09:23 +02:00
Harald Welte 5a7afc24a7 switch to new 'pass by value' at the TCAP-User boundary
this will enable the TCAP-User to queue primitives at will, since they
don't hold references to any data inside the TCAP-layer
2010-07-18 23:39:22 +02:00
Harald Welte c671dff577 'struct tcap_component' is allocated off the dialogue, not the invocation 2010-07-18 23:38:50 +02:00
Harald Welte 2ede379bb9 Makefile.am: Properly use autoconf-determined libosmo-asn1-tcap ldflags 2010-07-18 23:19:00 +02:00
Harald Welte b618623844 Add AGPLv3 headers and copyright statements to all files 2010-07-18 17:17:17 +02:00
Harald Welte c9a0de8589 Add GNU AGPLv3 as license for this project 2010-07-18 17:10:22 +02:00
Harald Welte b37ec74502 fix compiler warnings 2010-07-18 10:12:32 +02:00
Harald Welte c36a54d063 hide all internal symbols of the library using -fvisibility=hidden 2010-07-18 01:46:34 +02:00
Harald Welte 6d68a0e5e2 fix syntax error to make autoreconf happy 2010-07-18 01:46:21 +02:00
Harald Welte c29cc7c826 tcap_test: enable talloc report on exit 2010-07-18 01:25:32 +02:00
Harald Welte 2b0e73f42a release incoming UDP msgb's after we processed them 2010-07-18 01:24:08 +02:00
Harald Welte 2631e7adcd release all formerly-pending tcap_components after sending them 2010-07-18 01:23:49 +02:00
Harald Welte d62e881f9d properly free parsed asn.1 structure before N-UNITDATA.ind completes 2010-07-18 01:13:31 +02:00
Harald Welte 6a06c081cd Fix encoding of DialoguePortion of TC-CONTINUE and TC-END 2010-07-18 01:09:24 +02:00
Harald Welte 1e2f04410b implement simplistic UDP transport for TCAP
Normally, TCAP is not spoken directly on top of UDP, however this
makes it really easy to test...
2010-07-17 21:43:00 +02:00
Harald Welte aa3011d53e L/R-REJECT primitives are component primitives and thus have invocation as argument 2010-07-17 20:32:50 +02:00
Harald Welte fc9cc76f02 There is no 'struct OBJECT_IDENTIFIER', only OBJECT_IDENTIFIER_t 2010-07-17 20:30:21 +02:00
Harald Welte 52cef61627 export tacp_transport_entity to tcap_user.h 2010-07-17 20:29:49 +02:00
Harald Welte ab5bc475af rename scxp_entity into tcap_transport_entity 2010-07-17 20:25:03 +02:00
Harald Welte a5937f28d9 Enable TC-END.req from user/application 2010-07-17 19:32:40 +02:00
Harald Welte a64f6ccfff introduce tacp_trans_set_state() as wrapper to set transaction state 2010-07-17 19:11:48 +02:00
Harald Welte 5e130bfada tcap_test: continue the dialogue after TC-BEGIN.ind 2010-07-17 19:11:24 +02:00
Harald Welte 551e5f157a add support for TC-CONTINUE.req 2010-07-17 18:50:03 +02:00
Harald Welte 848f9a6a17 use functions to print human-readable state names in error messages 2010-07-17 18:49:41 +02:00
Harald Welte b6ac5eb1fe add functions to print human-readable state names 2010-07-17 18:49:24 +02:00
Harald Welte 363796ba5b properly parse applcation context name and user infromation in dialogue part 2010-07-17 16:48:01 +02:00
Harald Welte fa1cd47182 TC-BEGIN.ind correctly parse the dialogue portion 2010-07-17 15:25:36 +02:00
Harald Welte 7648b13cab DHA: Make sure components are always passed to CHA 2010-07-17 13:23:10 +02:00
Harald Welte bd68522f48 start to use tcap_dialg_free() when apropriate 2010-07-17 13:17:09 +02:00
Harald Welte 6e04ae709d introduce tcap_dialg_free() to release a dialogue/transaction 2010-07-17 13:16:53 +02:00
Harald Welte de50c68e02 actually use tcap_ism_free() instead of manual free()ing 2010-07-17 13:16:24 +02:00
Harald Welte 5327d82de8 Fix TC-UNI.req construction 2010-07-17 13:08:39 +02:00
Harald Welte 0b555a70c7 Move from one component per invocation to a per-dialogue component list 2010-07-17 13:05:56 +02:00
Harald Welte b03abafcc4 implement support for TC-UNI.req 2010-07-17 00:09:53 +02:00
Harald Welte ebe4d4bb33 add application context name to the tcap_test program 2010-07-16 23:56:43 +02:00
Harald Welte 5da2445ca3 make sure we properly zero-initialize structures on the stack 2010-07-16 23:56:24 +02:00
Harald Welte 08dd39cca7 feed outgoing TCAP transactions back into the stack for Tx->Rx testing 2010-07-16 21:52:18 +02:00
Harald Welte 5822e12ab4 Print incoming N-UNITDATA.req 2010-07-16 21:52:03 +02:00
Harald Welte b37f3921b5 use ANY_fromBuf() instead of manual assignment 2010-07-16 21:51:19 +02:00
Harald Welte 9553cac8d2 tcap_test: Use properly encoded BER data for Invoke parameter 2010-07-16 21:49:55 +02:00
Harald Welte b8455bbb10 initialize TCMessage to NULL 2010-07-16 20:44:16 +02:00
Harald Welte c6d0b9f52a forward-declare scxp_entity 2010-07-16 20:43:57 +02:00