summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* ctrlif: Flush/Clear write_queue when closing the control socketHarald Welte2014-08-211-0/+1
|
* Makefile.am: Use AM_CPPFLAGSAlexander Huemer2014-08-211-1/+1
| | | | Since automake 1.13 INCLUDES is depricates and causes a warning
* ctrl: Provide a reply in case the range check failedHolger Hans Peter Freyther2014-08-211-0/+1
|
* ctrl: Make the commands static to not pollute the namespaceHolger Hans Peter Freyther2014-08-211-3/+3
| | | | | We do not need to access these commands from another compilation unit and can just make it static.
* ctrl: Work on the cmd->node instead of the data pointer passedHolger Hans Peter Freyther2014-08-211-9/+9
| | | | | | Make the macros use the cmd->node instead of the data pointer. The naming of the variable inside the macro already indicates that it should use the nodes data structure.
* ctrl: Fix the signature of the string control commandsHolger Hans Peter Freyther2014-08-211-2/+7
| | | | | | | | Like with all type unsafe callbacks we will need to cast from void to the dtype. This addresses some compiler warnings. Make it possible to only include the control_cmd.h to use the macros defined in this file.
* libctrl, osmo-bsc: Get rid of net prefixDaniel Willmann2014-08-212-11/+3
| | | | net is now implicit in the root node
* ctrl: Use strtol instead of atoi to detect conversion errorsDaniel Willmann2014-08-211-10/+27
|
* ctrl: Improve error messages in ctrl_cmd_handleDaniel Willmann2014-08-211-12/+28
|
* ctrl: Change the paths to bts.%i. instead of bts%iDaniel Willmann2014-08-211-6/+18
|
* ctrl: Improve error handling if controlif setup failsDaniel Willmann2014-08-211-12/+16
|
* libctrl: Add function ctrl_cmd_send_to_allDaniel Willmann2014-08-212-0/+18
| | | | | Sends a command to all ctrl connections except the one it originated from.
* libctrl: Add trap helper functionDaniel Willmann2014-08-212-0/+14
|
* libctrl: Change controlif_setup so it returns the ctrl handleDaniel Willmann2014-08-213-16/+20
| | | | | | | nat: Catch up with controlif_setup API change We now save a control handle reference in the nat osmo-bsc: Catch up with controlif_setup API change We now save a control handle reference in the gsm network
* libctrl: Keep track of connections in struct ctrl_handleDaniel Willmann2014-08-211-1/+11
|
* misc: Use other size modifiers to fix compiler warningsHolger Hans Peter Freyther2014-08-211-1/+1
| | | | | | control_if.c:521:2: warning: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 3 has type ‘uint64_t’ [-Wformat] osmo_bsc_bssap.c:473:3: warning: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 7 has type ‘unsigned int’ [-Wformat] mgcp_main.c:162:4: warning: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 4 has type ‘unsigned int’ [-Wformatt]
* libctrl: only free() msgb if it was alloc()edAlexander Huemer2014-08-211-1/+1
| | | | | | Before this patch a SIGABRT was caused when doing e.g.: $ ncat 127.0.0.1 4249 ^C
* fix some "implicit declaration" warnings in osmo-nitbAlexander Huemer2014-08-211-0/+13
|
* libctrl: Add a function to create the cmdHolger Hans Peter Freyther2014-08-212-0/+13
|
* libctrl: Don't overwrite error reply if the verify function sets oneDaniel Willmann2014-08-211-1/+3
|
* libctrl: Mark the cmd set/get/verify functions staticDaniel Willmann2014-08-212-14/+14
|
* libctrl: Bind control interface to localhostDaniel Willmann2014-08-211-1/+1
|
* libctrl: Use DCTRL as logging destination in libctrlHolger Hans Peter Freyther2014-08-212-28/+28
|
* src: port openBSC over libosmo-abisPablo Neira Ayuso2014-08-213-37/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a big patch that ports openBSC over libosmo-abis. Sorry, the changes that are included here are all dependent of libosmo-abis, splitting them into smaller pieces would leave the repository in some intermediate state, which is not desired. The main changes are: - The directory libabis/ has been removed as it now lives in libosmo-abis. - new configuration file format for nanoBTS and HSL femto, we need to define the virtual e1_line and attach it to the OML link. - all the existing BTS drivers (nanoBTS, hsl femto, Nokia site, BS11 and rbs2000) now use the new libosmo-abis framework. - use r232 input driver available in libosmo-abis for bs11_config. - use ipa_msg_recv instead of old ipaccess_read_msg function. - delete definition of gsm_e1_subslot and input_signal_data. These structures now lives in libosmo-abis. Most of this patch are deletions of libabis/ which has been moved to libosmo-abis. This patch also modifies openBSC to use all the new definitions available in libosmocore and libosmo-abis. In order to do that, we have replaced the following: - DINP, DMI, DMIB and DMUX by their respective DL* correspondences. - SS_GLOBAL by SS_L_GLOBAL - SS_INPUT by SS_L_INPUT - S_GLOBAL_SHUTDOWN by S_L_GLOBAL_SHUTDOWN - SS_INPUT by SS_L_INPUT - S_INP_* by S_L_INP_* sub-signals - E1INP_NODE by L_E1INP_NODE vty node This patch has been tested with: - one nanoBTS - the HSL femto with the examples available under libosmo-abis - BS11 with both dahdi and misdn drivers.
* libctrl: Use inttypes.h macros to make uint64_t printfs portable.Daniel Willmann2014-08-211-1/+2
|
* controlif: declare controlif_setup() in control_cmd.hHarald Welte2014-08-211-0/+3
| | | | | this avoids us to copy+paste external declarations over all 'main' files.
* libctrl: Add ctrl_cmd_cpy() to copy a commandDaniel Willmann2014-08-212-0/+37
|
* libctrl: Add commands to query counters and rate_cntrDaniel Willmann2014-08-211-0/+258
| | | | | | | | | | | | These commands are installed in controlif_setup. Query them like this: "rate_ctr.<interval>.<counter group>.<index>.<counter name>" for rate counters and "counter.<counter name>" for regular counters. <interval> may be either "abs" for absolute values or one or "per_{sec,min,hour,day}". It is possible to query all rate counters in a group (regardless of index) or all counters in a group and with a certain index if you omit <counter name> and <index> or just <counter name>.
* libctrl: Add macros to help define commandsDaniel Willmann2014-08-211-0/+69
|
* Add libctrl, an SNMP-like control interfaceDaniel Willmann2014-08-214-0/+900
| | | | | | In contrast to the VTY interface the control interface is meant to be used by programs. This patch adds basic support, no commands are defined.
* new <osmocom/vty/ports.h> file listing VTY tcp portsHarald Welte2014-08-212-1/+16
| | | | imported from http://openbsc.osmocom.org/trac/wiki/PortNumbers
* gsm0808: Fix copy and paste pointed out by clangHolger Hans Peter Freyther2014-08-211-1/+1
| | | | | | | | | | | | | | | The element following the identifier list was the GSM0808_IE_LSA_INFORMATION. It is a TLV type as well and the issue got introduced in 92107dfd3b99ab0dbb0f4770286454ad94a36de2. Fixes: gsm0808.c:316:40: warning: initializer overrides prior initialization of this subobject [-Winitializer-overrides] [GSM0808_IE_LSA_IDENTIFIER_LIST] = { TLV_TYPE_TLV }, ^~~~~~~~~~~~ gsm0808.c:315:40: note: previous initialization is here [GSM0808_IE_LSA_IDENTIFIER_LIST] = { TLV_TYPE_TLV },
* macaddr: Add some code for FreeBSD (it should work on the others too)Holger Hans Peter Freyther2014-08-211-0/+41
| | | | | | | | There doesn't seem to be a way to share this code with Linux as it doesn't have the sockaddr_dl concept inside the getifaddrs. I manually verified this on a FreeBSD10 box and hex decoding gave me the correct mac address and rc was 0.
* ipa: use %z as format string whne printing sizeof() resultHarald Welte2014-08-211-1/+1
| | | | thanks to Holger for reminding me
* ipa: fix compiler warning regarding printf (%d -> %lu)Harald Welte2014-08-211-1/+1
|
* macaddr: add #include unistd.h for close() functionHarald Welte2014-08-211-0/+1
| | | | this fixes a compile warning
* ipa: rename functions for consistencyHarald Welte2014-08-205-37/+52
| | | | | | | | As we are breaking builds by moving functions from libosmo-abis to libosmocore anyway, we might as well give functions more appropriate names. ipaccess is a company, while IPA is the multiplex protocol, and CCM is the protocol used for establishing identities on the IPA multiplex.
* import various generic IPA related functions from libosmo-abisHarald Welte2014-08-204-1/+511
| | | | | | | | | libosmo-abis is about forming A-bis interfaces/lines by means of E1 or the IPA multiplex (or possibly other link layers). The IPA multiplex is used in other contexts, such as the Control interface, or the A interface. In that context, it makes sense to have generic IPA related functions in libosmocore.
* Add osmo_get_macaddr() function to obtain etherent mac addressHarald Welte2014-08-182-0/+27
| | | | | This used to be private in osmo-bts/common/abis.c, where it really didn't belong.
* osmocore: Add function osmo_macaddr_parse() to parse ETH MAC addressHarald Welte2014-08-184-1/+34
|
* TLV: add TLVP_PRES_LEN() definition to check for existance + minimum lengthHarald Welte2014-08-181-0/+3
| | | | | This is an import from osmo-bts where it was introduced in 6b561bb7ba5f10c5fd96542a7e42de2822352a67
* ipaccess.h: Add IPAC_PROTO_EXT_ORC for OML Router ControlHarald Welte2014-08-181-0/+1
|
* abis_nm: add abis_nm_msg_disc_names[] value_stringHarald Welte2014-08-173-0/+11
|
* abis_nm: introduce abis_nm_{osmo,ipa}_magic[]Harald Welte2014-08-173-0/+8
| | | | ... used to be oml_{osmo,ipa}_magic in osmo-bts
* gprs-ns: Re-initialize the list head and free the unknown_nsvcHolger Hans Peter Freyther2014-07-071-0/+3
| | | | | | | | | | | | | | | | | Fix re-initialize issue of the GPRS NS. This was found while working on the GB Proxy tests. ==27800== Invalid write of size 4 ==27800== at 0x403C263: rate_ctr_group_alloc (linuxlist.h:65) ==27800== by 0x4050974: gprs_nsvc_create (gprs_ns.c:209) ==27800== by 0x405320D: gprs_ns_instantiate (gprs_ns.c:1330) ==27800== by 0x804B212: main (gbproxy_test.c:797) ==27800== Address 0x434173c is 52 bytes inside a block of size 784 free'd ==27800== at 0x4029DA8: free (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so) ==27800== by 0x4041BBD: _talloc_free (talloc.c:609) ==27800== by 0x40432B2: talloc_free (talloc.c:578) ==27800== by 0x40532D3: gprs_ns_destroy (gprs_ns.c:1363) ==27800== by 0x804B1FE: main (gbproxy_test.c:791)
* write_queue: Use EBADF instead of EBABDFD for portabilityHolger Hans Peter Freyther2014-07-013-5/+5
| | | | | EBADFD is linux specific while EBADF is POSIX. Fix the build on FreeBSD and use EBADF throughout the file.
* vty: Avoid use-after-free in VTY telnet interfaceDaniel Willmann2014-06-222-4/+4
| | | | | | If the read callback closes the connection conn is already freed so we can't derefernce it. Instead return -EBADFD in the read function if it closed the connection and check for that.
* osmo-auc-gen: Fix compiler warnings about aliasingHolger Hans Peter Freyther2014-06-221-4/+7
| | | | | | | | | | | | | | | | | | | I ran "./utils/osmo-auc-gen -2 -a COMP128v1" and verified that the RAND doen't look empty Fixes: osmo-auc-gen.c: In function ‘main’: osmo-auc-gen.c:219:3: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] *(uint32_t *)&_rand[0] = rand(); ^ osmo-auc-gen.c:220:3: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] *(uint32_t *)(&_rand[4]) = rand(); ^ osmo-auc-gen.c:221:3: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] *(uint32_t *)(&_rand[8]) = rand(); ^ osmo-auc-gen.c:222:3: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] *(uint32_t *)(&_rand[12]) = rand();
* write_queue: Avoid possible use-after-free if fd is read-/writableDaniel Willmann2014-06-221-5/+18
| | | | | | | | | If the FD is both readable and writable and the read callback closes the connection (and frees the surrounding structure) we shouldn't call the write callback (or check anything else in the read fd). With this patch callback functions can return -EBADFD if they don't want the FD to be handled any more.
* update TS 08.08 header + TLV definitions to TS 48.008 / 11.7.0Harald Welte2014-06-212-18/+151
| | | | | | | | | | This adds support for A-over-IP and LCLS related message/IEI definitions. Old definitions are in decimal, which is very hard (at least for me) to compare with the binary tables in the spec. Hex is much easier to manually compare for completeness/correctness. I didn't touch the existing definitions, but think they should move to hex, too.