Pau Espin Pedrol | cb8c75b | 2018-05-03 18:52:03 +0200 | [diff] [blame] | 1 | osmo-msc (1.2.0) unstable; urgency=medium |
| 2 | |
| 3 | [ Neels Hofmeyr ] |
| 4 | * msc_vlr_tests: fix rebuild: rebuild when src/ libs were rebuilt |
| 5 | * cosmetic: vlr: rename auth_tuple_max_use_count to _reuse_ |
| 6 | * tests: add msc_vlr_test_authen_reuse |
| 7 | * vty: make auth tuple reuse configurable |
| 8 | * vty: drop deprecated 'logging level sms...' |
| 9 | * defaults: assign TMSI by default |
| 10 | * vty: skip installing cmds now always installed by default |
| 11 | * examples: apply mgcp_client vty rename from 'mgcpgw' to 'mgw' |
| 12 | * vlr: auth_fsm_start: check return value of fsm alloc |
| 13 | * add --enable-sanitize config option |
| 14 | * rate_ctr: don't use . as separator |
| 15 | * sub_pres_vlr_fsm_start: fix heap use after free |
| 16 | * vlr_gsupc_read_cb: fix use after free of GSUP msgb |
| 17 | * subscr_conn: don't close after conn timeout |
| 18 | * vlr_subscr_conn_timeout(): don't fire events to discarded fi |
| 19 | * cosmetic: msc_vlr_tests: add comment to show expected tallocs |
| 20 | * sms_queue_test: sanitize: clean up talloc contexts when done |
| 21 | * cosmetic: log: CC state transition: log trans id and subscr |
| 22 | * cosmetic: log: CC trans_alloc: log trans_id and subscr, not memory addrs |
| 23 | * cosmetic: debug log: mncc: detached subscr: show subscriber |
| 24 | * msc_vlr_tests: fix test nr arg: clear errno before strtol() |
| 25 | * msc_vlr_tests: set a valid lac for fake conns |
| 26 | * use only 0.23.1 as point code for both A and Iu |
| 27 | * subscr_conn: introduce usage tokens for ref error tracking |
| 28 | * cosmetic: log error when using a conn that's in release |
| 29 | * add msc_vlr_test_call to reproduce a sanitizer error |
| 30 | * fix use after free: missing conn_get on CC paging response |
| 31 | * sms db: don't attempt to query pending SMS for unset MSISDN |
| 32 | * sms db: properly quote MSISDN in various SQL queries |
| 33 | * sms.db: silence libdbi warnings on out-of-range index |
| 34 | * fix vty write: add missing 'authentication optional/required' output |
| 35 | * compiler warning: drop double 'const' in a_iface_tx_cipher_mode() |
| 36 | * debug log: a_iface_tx_cipher_mode(): log cipher and key |
| 37 | * cosmetic: msc_vlr_tests: log SMS details when invoked with -v |
| 38 | * vlr: debug log: log Ciphering Mode details |
| 39 | * fix BSSMAP Cipher Mode Cmd: properly set permitted algorithms |
| 40 | * cosmetic: move translation of vlr_ciph into msc_vlr_set_ciph_mode() |
| 41 | * cosmetic prep: publish vlr_use_umts_aka() decision |
| 42 | * cosmetic prep: tell vlr_ops.set_ciph_mode() whether UMTS AKA is used |
| 43 | * drop unused T* timers (BSC land, not MSC) |
| 44 | * cosmetic: msc_paging_request: drop obsolete comment |
| 45 | * fix GSM-Milenage in presence of 2G keys |
| 46 | * compiler warning: extend #if 0 to include unused array |
| 47 | * a_iface_bssap: compiler warning: cast const away from TLV val for l2h |
| 48 | * smpp_smsc: fix truncated string copy into bind_r.system_id |
| 49 | * log: a_iface.c: revisit logging, use LOGPCONN |
| 50 | * cosmetic: rename sccp_rx_udt and sccp_rx_dt to a_* |
| 51 | * fix paging: add timeout to discard unsuccessful paging |
| 52 | * fix: properly cancel all Paging on IMSI Detach |
| 53 | * a_iface_tx_assignment: fix log lvl for "Sending Assignment..." |
| 54 | * fix build: missing LIBOSMORANAP flags in libmsc |
| 55 | * drop unused libmsc/meas_feed.h |
| 56 | * cosmetic: gsm_network_init(): imply default 001-01 PLMN |
| 57 | * implement support for 3-digit MNC with leading zeros |
| 58 | * vlr: fix post-auth LU failure handling |
| 59 | * vlr_lu_fsm: guard against using the wrong fi |
| 60 | * msc_vlr_tests: revert IMSI parameter and test nr output |
| 61 | * msc_vlr_test_gsm_ciph: drop unused function |
| 62 | * msc_vlr_tests: make all test functions static |
| 63 | * msc_vlr_tests: improve cipher mode coverage |
| 64 | * fix: clear vlr_subscr->msc_conn_ref when the conn is discarded |
| 65 | * vty: drop unused commands |
| 66 | * vty: add 'msisdn' as alias for 'extension' |
| 67 | * vty: add 'subscriber ... paging' cmd |
| 68 | * msc_main: do not say 'osmo-nitb' in the usage |
| 69 | * silent call: clarify rc and error messages logged on vty |
| 70 | * msc_vlr_tests: clearly separate Ciph Mode from Security Mode checking |
| 71 | * msc_vlr_test_gsm_ciph: add test for GSM AKA in UMTS environment |
| 72 | * vlr: fix GSM AKA in a UMTS AKA capable environment |
| 73 | * vlr auth: gracefully reject malformed auth response |
| 74 | * gsm48_rx_mm_auth_resp(): pass is_r99 from classmark, not response size |
| 75 | * cosmetic: gsm48_rx_mm_auth_resp(): log 'UMTS AUTH', not 'R99 AUTH' |
| 76 | * msc_vlr_test_umts_authen: test response with too short RES |
| 77 | * msc_vlr_test_umts_authen: test response with too long RES |
| 78 | * msc_vlr_test_umts_authen: test response with only SRES half of RES |
| 79 | * cosmetic: vlr_auth_fsm: clarify decision on UMTS AKA or GSM AKA |
| 80 | * cosmetic: vlr_auth_fsm: log RAN and size along with SRES/RES |
| 81 | * msc_vlr_tests: add test_a5_3_not_supported |
| 82 | * configure: add --enable-werror |
| 83 | * vlr_ciph_result: fix use after free of imeisv |
| 84 | * trans_free: safeguard against a still running CC timer on free |
| 85 | * cosmetic: vlr_auth: log decision to send UMTS or GSM AKA challenge |
| 86 | * cosmetic: msc_vlr_tests: enable CC logging in debug |
| 87 | * cosmetic: rename conn_fsm "bump" event to "release_when_unused" |
| 88 | * msc_vlr_tests: add CC Release test and test to catch OS#2779 |
| 89 | * cosmetic: gsm_04_08.c: drop unused struct gsm_lai |
| 90 | * trans_free: tear down conn when last transaction is done |
| 91 | * dissolve libcommon,libcommon-cs: clean up vty definitions |
| 92 | * cosmetic: msc_vty.c: use static gsmnet instead of gsmnet_from_vty() |
| 93 | * dissolve libcommon: drop unused bsc_version.c |
| 94 | * dissolve libcommon: drop debug.c |
| 95 | * dissolve libcommon: move talloc ctx into msc_main.c, drop talloc_ctx.c |
| 96 | * dissolve libcommon: drop gsm_subscriber_base.c, move vlr_subscr_* to vlr.c |
| 97 | * dissolve libcommon: drop gsm_data.c, move code to libmsc |
| 98 | * rename libcommon to libgsupclient |
| 99 | * dissolve libcommon-cs: mv a_reset.c to libmsc |
| 100 | * dissolve libcommon-cs: move gsm_network_init() to libmsc |
| 101 | * dissolve libcommon-cs: move gsm48_* code to libmsc, drop sms_next_rp_msg_ref() |
| 102 | * remove empty libcommon-cs |
| 103 | * gsup_test_client: gsupc_read_cb: fix uninitialized value 'io' |
| 104 | * use osmo_init_logging2() with proper talloc ctx |
| 105 | * drop some dead definitions (gsm_data.h, gsup_client.c) |
| 106 | * test_reject_concurrency: missing assert |
| 107 | * cosmetic: rx_bssmap: read message type once into local var |
| 108 | * cosmetic: rename gsm_subscriber_connection->conn_fsm to ->fi |
| 109 | * cosmetic: rename subscr_conn_from to complete_layer3_type |
| 110 | * subscr_conn: store complete_layer3_type in conn, not FSM event arg |
| 111 | * unify allocation of gsm_subscriber_connection |
| 112 | * trans_free: drop bad assertion |
| 113 | * msc_vlr_test_call: reproduce OS#3062 |
| 114 | * CC: intentionally release T308 on BSSMAP Clear Request from BSC |
| 115 | * refactor subscr_conn and subscr_conn_fsm de-/alloc |
| 116 | * properly receive BSSMAP Clear Complete and Iu Release Complete |
| 117 | * fix BSC Clear Request |
| 118 | * cosmetic: embed compl_l3_type in FSM id |
| 119 | * refactor VLR FSM result handling |
| 120 | * msc conn ref counts: log human readable list of conn owners |
| 121 | * cosmetic: use enum ranap_nsap_addr_enc instead of int |
| 122 | |
| 123 | [ Harald Welte ] |
| 124 | * sms_route_mt_sms: Don't return uninitialized variable |
| 125 | * MNCC: Add input validation |
| 126 | * Log difference between SETUP and EMERGENCY_SETUP |
| 127 | * Emergency Call: Set MNCC_F_EMERGENCY flag |
| 128 | * Refuse Emergency Calls by IMEI with proper CM SERVICE REJECT Cause |
| 129 | (Closes: #2866) |
| 130 | * Reject any CM SERVICE we don't support |
| 131 | * Remove traces of meas_feed |
| 132 | * Fix msc_vlr test results (.err) for new libosmocore GSM48_PDISC names |
| 133 | * Properly reject CM Re-Establishment Request |
| 134 | * msc_cipher_mode_compl: Handle CIPH MOD COMPL without L3 message |
| 135 | * remove unused paging.h and osmo_bsc_grace.h |
| 136 | * debug: Remove code for filters that don't exist in OsmoMSC |
| 137 | * remove traces of bsc_subscriber |
| 138 | * jenkins.sh: Don't depend on osmo-ggsn |
| 139 | * Massive removal of unused code/structs/headers |
| 140 | * remove unused ipaccess.h |
| 141 | * remove dead code in auth.h / auth.c |
| 142 | * remove dead header files bsc_msc.h, bsc_msc_data.h and bsc_rll.h |
| 143 | * signal.h: Remove unused/dead signal definitions |
| 144 | * remove dead ctrl.h header file |
| 145 | * debug: Remove dead log categories |
| 146 | * Shift ciphering algorithm selection from VLR to MSC |
| 147 | * Permit a set of multiple different A5 ciphers |
| 148 | * MSC: Intersect configured A5 algorithms with MS-supported ones |
| 149 | * Change GSUP re-connect interval to 1s |
| 150 | * Implement checks for duplicate uplink UL L3 message (Closes: #2908) |
| 151 | * VTY: Add 'show connections' and 'show transactions' commands |
| 152 | * a_reset: Add additional "a_reset_alloc" argument |
| 153 | * Don't answer to BSC-originated RESET with another RESET |
| 154 | * cosmetic: Use msgb_hexdump*() rather than manual osmo_hexdump() on msg |
| 155 | * a_iface: Reduce log levels |
| 156 | * a_iface_bssap.c: Use LOGPCONN() whenever possible |
| 157 | * a_sccp_rx_dt(): Don't print hexdump of message multiple times |
| 158 | * cosmetic: a_iface: Harmonize log statements |
| 159 | * cosmetic: No need for 'break' after 'return' |
| 160 | * a_iface: centralize lookup of subscriber_conn |
| 161 | * cosmetic: a_iface: More logging harmonization |
| 162 | * a_iface: Add copyright statement (after recent contributions) |
| 163 | * Introduce new BSSAP logging category/subsystem |
| 164 | * a_iface: Fix heap-use-after-free by cleaning up msgb ownership |
| 165 | * Add VTY command to configure destination MSISDN for emergency calls |
| 166 | * a_iface: Fix heap-use-after-free in a_clear_all() |
| 167 | * MGCP: Response code 250 is *not* an error for DLCX |
| 168 | * a_iface: s/Abis/L3/ for speech version/preference fields |
| 169 | * a_iface: Consistent and understandable function names |
| 170 | * MT Calls: Copy bearer capabilities from NNCC primitive to trans |
| 171 | * MNCC: Copy bearer_cap from MNCC to gsm_trans |
| 172 | * gsm_data: remove unused gsm_subscriber_connection members |
| 173 | * remove bsc_api.h and all users - they're all dead code |
| 174 | * dead code removal |
| 175 | * remove unused dyn_ts_allow_tch_f VTY option |
| 176 | * osmo-msc: Add talloc context introspection via VTY |
| 177 | * remove unused VTY command "location updating reject cause" |
| 178 | * remove unused "authorized-regexp" VTY command |
| 179 | * remove unused "auth policy" VTY command |
| 180 | * remove dead code (gsm_parse_reg) |
| 181 | * BSSAP: Return error code if COMPL L3 with no or too short L3 payload |
| 182 | * a_iface_bssap: Treat inbound RESET as implicit RESET ACK |
| 183 | * a_iface: If L3/DTAP returns error in COMPL L3, close SCCP connection |
| 184 | * DTAP: Ensure proper DLCI is used in MSC-originated DTAP |
| 185 | * Permit any Sender MSISDN when sending SMS from VTY |
| 186 | * smpp: Unset esme->acl on socket close |
| 187 | * sms_queue: fix use-after-free on 'pending' |
| 188 | |
| 189 | [ Alexander Couzens ] |
| 190 | * debian/rules: remove doublicated project name in example files |
| 191 | * libmsc/vty: don't access old bsc rate counters |
| 192 | |
| 193 | [ Philipp Maier ] |
| 194 | * reset: remove name variable from reset context |
| 195 | * cosmetic: move log message to else branch |
| 196 | * cosmetic: add missing spaces |
| 197 | * cosmetic: remove duplicate logging |
| 198 | * mncc: re-add lchan members to structs |
| 199 | * mncc: remove deprecated commandline option. |
| 200 | * a_iface: correct data type for a.conn_id in gsm_subscriber_connection |
| 201 | * mgcp: use osmo-mgw to switch rtp streams |
| 202 | * increase RAN timeout in MGCP FSM |
| 203 | * a_reset: Add FSM event names |
| 204 | * msc_mgcp: Add FSM event names |
| 205 | * a_iface: fix BSSMAP reset handling |
| 206 | * msc_mgcp: fix mgw timeout handling |
| 207 | * mgcp: be sure that pending mgcp transactions are canceled before free |
| 208 | * msc_mgcp: use more conceise error msg on truncation |
| 209 | * mcgp: let the MGW allocate the MGCP endpoint |
| 210 | * cosmetic: remove disabled (debug) code gsm_04_08.c |
| 211 | * msc_mgcp: to not access higher layers after release |
| 212 | * cosmetic: remove unused variable |
| 213 | * msc_mgcp.c: log endpoint name instead of pointer |
| 214 | * msc_mgcp: do not send wildcarded DLCX messages |
| 215 | |
| 216 | [ Max ] |
| 217 | * Use osmo-ggsn instead of openggsn in jenkins tests |
| 218 | * Add basic CTRL test |
| 219 | * Remove obsolete ./configure option |
| 220 | * Remove unneeded .py scripts |
| 221 | * Enable sanitize for CI tests |
| 222 | * Migrate from OpenSSL to osmo_get_rand_id() |
| 223 | * VLR: remove unused parameter |
| 224 | * VLR: log subscriber update |
| 225 | * Add control command to expire subscriber |
| 226 | * VLR: constify GSUP-related function parameters |
| 227 | * cosmetic: log prim operation as text |
| 228 | * Remove unused code |
| 229 | * Wrap osmo_strlcpy() calls |
| 230 | * Fix whitespace issues |
| 231 | * Constify msc_subscr_conn_is_accepted() parameter |
| 232 | * Move IMSI into test parameters |
| 233 | * VLR tests: mark static test functions as such |
| 234 | * Expand VLR tests |
| 235 | * VLR tests: don't fail via assert |
| 236 | * VLR tests: remove weird code |
| 237 | * VLR tests: always print test parameters |
| 238 | * VLR tests: move network init into function |
| 239 | * GSUP: check osmo_gsup_encode() result |
| 240 | * VLR: fix potential NULL dereference |
| 241 | |
| 242 | [ Alexander Huemer ] |
| 243 | * Add missing CFLAGS |
| 244 | * Remove utils imported from openbsc, fix building remaining util smpp_mirror |
| 245 | |
| 246 | [ Pau Espin Pedrol ] |
| 247 | * libmsc: db.c: Replace dbi APIs marked as deprecated |
| 248 | * libmsc: msc_vty: Fix compilation warning |
| 249 | * libmsc: bssap: Fix typo in log message |
| 250 | * libmsc: bssap: Refactor rx paths to to avoid parse_tlv code duplication |
| 251 | * libmsc: bssap: Catch TLV parse failures |
| 252 | * libmsc: bssap: Remove fixme and properly update msgb tail |
| 253 | * msc_mgcp.c: Fix several wrong ptr printf fmt |
| 254 | * contrib: osmo-msc.service: Depend on osmo-mgw.service |
| 255 | * smpp_smsc_conf: Fix heap-use-after-free |
| 256 | * Remove unused GSM_PAGING_OOM |
| 257 | * setup_trig_pag_evt: Remove uneeded default case in switch statement |
| 258 | * setup_trig_pag_evt: Always log correct paging failure case |
| 259 | * setup_trig_pag_evt: Fix heap-use-after-free |
| 260 | |
| 261 | [ the 34c3 gsm team ] |
| 262 | * smpp_smsc.c: don't talloc_strdup NULL pointers |
| 263 | |
| 264 | [ Vadim Yanitskiy ] |
| 265 | * msc/gsm_04_80.h: clean up useless declarations |
| 266 | * msc/gsm_04_80.h: cosmetic: whitespace fix |
| 267 | * msc/gsm_04_80.h: use '#pragma once' instead of includes |
| 268 | * src/libmsc/ussd.c: drop useless forward declaration |
| 269 | * ussd.h: cosmetic: remove useless comment |
| 270 | * ussd.h: cosmetic: use '#pragma once' include guard |
| 271 | * libmsc/gsm_04_80.c: drop unused 'in_msg' argument |
| 272 | * libmsc/ussd.c: cosmetic: correct log level and message |
| 273 | * libmsc/ussd: don't overwrite rc if decoding failed |
| 274 | * tests/msc_vlr: fix expected SS message names |
| 275 | |
| 276 | [ Stefan Sperling ] |
| 277 | * Improve an error message in db_init(). |
| 278 | * Delete SMS from the database once they were sent successfully |
| 279 | * Store/retrieve SMS validity time in the SMS datebase |
| 280 | * Fix value of stored SMS validity time. |
| 281 | * Add a VTY command which deletes all expired SMS. |
| 282 | * Accept SMS for any receiver |
| 283 | * Delete expired SMS automatically. |
| 284 | * Make sending an SMS to an unknown subscriber B work over SMPP. |
| 285 | * enable osmo_fsm vty commands in osmo-msc vty |
| 286 | * Track libosmocore API change in osmo-msc. |
| 287 | * restore sending of optional MM info messages |
| 288 | * use libosmocom to parse cell identifier in bssmap_rx_l3_compl() |
| 289 | |
| 290 | [ Daniel Willmann ] |
| 291 | * iucs: Add a function to return the connection ID for the IU SCCP conn |
| 292 | * libmsc: Add a function to return a unique ID of the subscriber conn |
| 293 | * libmsc: Pretend MNCC requested release in handle_error() |
| 294 | |
| 295 | -- Pau Espin Pedrol <pespin@sysmocom.de> Thu, 03 May 2018 18:52:03 +0200 |
| 296 | |
Harald Welte | 9a5b474 | 2017-10-29 09:01:31 +0100 | [diff] [blame] | 297 | osmo-msc (1.1.2) unstable; urgency=medium |
| 298 | |
| 299 | * Depend on both libosmo-sigtran-dev and libosmo-sccp-dev |
| 300 | * Debian: require minimum versions of packages we depend on |
| 301 | |
| 302 | -- Harald Welte <laforge@gnumonks.org> Sun, 29 Oct 2017 09:01:30 +0100 |
| 303 | |
Harald Welte | aaa8580 | 2017-10-28 21:57:23 +0200 | [diff] [blame] | 304 | osmo-msc (1.1.1) unstable; urgency=medium |
| 305 | |
| 306 | * Debian: Depend on libosmo-sigtran-dev, not libsomo-sccp-dev! |
| 307 | |
| 308 | -- Harald Welte <laforge@gnumonks.org> Sat, 28 Oct 2017 21:57:22 +0200 |
| 309 | |
Harald Welte | 6a01568 | 2017-10-28 14:45:59 +0200 | [diff] [blame] | 310 | osmo-msc (1.1.0) unstable; urgency=medium |
| 311 | |
| 312 | [ Alexander Couzens ] |
| 313 | * Initial release. |
| 314 | * debian/rules: show testsuite.log when tests are failing |
| 315 | |
| 316 | [ Neels Hofmeyr ] |
| 317 | * build: check for -lgsm |
| 318 | * am: msc_vlr_tests: use AM_LDFLAGS instead of COMMON vars |
| 319 | * jenkins: fix build: osmo-mgw from master, not pre_release |
| 320 | * jenkins: drop unused build matrix vars, always --enable-smpp |
| 321 | * configure.ac: fix to "AC_INIT[osmo-msc]" |
| 322 | * rewrite README |
| 323 | * rename openbsc.pc to osmo-msc.pc |
| 324 | * debian: fix web and VCS links, tweak osmo-msc.install |
| 325 | * drop files unrelated to osmo-msc |
| 326 | * rename include/openbsc to include/osmocom/msc |
| 327 | * doc/examples: add detailed cs7 config examples |
| 328 | * use separated libosmo-mgcp-client, apply rename to mgcp_client_* |
| 329 | * ctrl: subscriber-list-active: list only attached subscribers |
| 330 | * debian: fix dependency to mgcp library |
| 331 | * main: remove cmdline args no longer available for osmo-msc |
| 332 | * vty: fix: missing default cmds at hlr node |
| 333 | * ctrl: remove unimplemented cmds subscriber-{modify,delete} |
| 334 | * fix build: remove obsolete header legacy_mgcp/mgcp.h |
| 335 | * fix debian: fix erratic doc/examples install path |
| 336 | * fix memory leak: vlr: vlr_gsupc_read_cb() must msgb_free() |
| 337 | * fix vty tests: long timeout due to unreachable STP address |
| 338 | * cosmetic: vlr: declare a struct in .h; drop unused header |
| 339 | * add ';' after OSMO_ASSERT() |
| 340 | |
| 341 | [ Philipp Maier ] |
| 342 | * a_iface: fix memory leaks |
| 343 | * a_iface: fix typo |
| 344 | |
| 345 | [ Max ] |
| 346 | * Remove rest_octets.h |
| 347 | * Remove SI-related code |
| 348 | * Remove BTS-specific attributes |
| 349 | * Remove unused osmo_bsc_rf.h header |
| 350 | * Remove pkg-config file |
| 351 | |
| 352 | [ Harald Welte ] |
| 353 | * Update .gitignore for post-nitb-split |
| 354 | * remove further files and autotest/autoconf bits irrelevant to osmo-msc |
| 355 | * Rename osmo_fsm to avoid illegal space in name + more meaningful name |
| 356 | * Debian: remove obsolete Dependencies |
| 357 | * configure.ac: Depend on latest tagged/released libosmo-* versions |
| 358 | * Debian: Build with enabled SMPP support |
| 359 | * osmo-msc: Don't link against libasn1c |
| 360 | * Debian: Include systemd.service in package |
| 361 | * Debian: include all (not just one) example config files |
| 362 | |
| 363 | -- Harald Welte <laforge@gnumonks.org> Sat, 28 Oct 2017 14:45:58 +0200 |
| 364 | |
Alexander Couzens | 4d1ee5e | 2017-08-07 08:36:36 +0000 | [diff] [blame] | 365 | osmo-msc (0.1.0) UNRELEASED; urgency=low |
Holger Hans Peter Freyther | ddf4e1e | 2016-05-24 23:15:12 +0200 | [diff] [blame] | 366 | |
Alexander Couzens | 4d1ee5e | 2017-08-07 08:36:36 +0000 | [diff] [blame] | 367 | * Initial release. |
Holger Hans Peter Freyther | ddf4e1e | 2016-05-24 23:15:12 +0200 | [diff] [blame] | 368 | |
Alexander Couzens | 4d1ee5e | 2017-08-07 08:36:36 +0000 | [diff] [blame] | 369 | -- Alexander Couzens <lynxis@fe80.eu> Tue, 08 Aug 2017 01:13:01 +0000 |