summaryrefslogtreecommitdiff
path: root/net_ntrip.c
Commit message (Collapse)AuthorAgeFilesLines
* net_ntrip: Pretend we understand RTCM 3.3Gary E. Miller2019-04-181-9/+11
| | | | 100% untested.
* Removed variable length arrays, added -Wvla compiler option.vla-removalIan Bruene2018-11-261-10/+7
|
* LICENSE: Update licenses for consistency. No functional changes.Gary E. Miller2018-11-191-1/+1
|
* SPDXify the licerse references.Eric S. Raymond2018-03-081-1/+1
|
* Add "RTCM2.3" and "RTCM3.1" detection. Fix bug #52677Gary E. Miller2017-12-151-2/+4
|
* Support format strings "RTCM 3", fix bug #52277Gary E. Miller2017-12-151-1/+2
|
* Accept RTCM 3.1 and RTCM 3.2 over ntrip://Gary E. Miller2016-04-061-1/+5
| | | | I'm not sure if gpsd can really decode 3.1 or 3.2, but at least try to.
* Cleanup: atof() -> safe_atof()Gary E. Miller2016-04-051-2/+2
|
* More trailing whitespace fixups.Gary E. Miller2015-04-301-5/+5
|
* Retire splint from our set of static analyzers.Eric S. Raymond2015-03-301-19/+8
| | | | | | | | | | | | | | | | | | | The proximate cause was that we've been seing emission of error messages that were randomly and disturbingly variable across different environments - notably Raspbian and Gentoo splint gave nontrivially different results than Ubuntu 14.10 splint. And this was *not* due to Ubuntu patches! A pristine splint built from the 3.1.2 tarball on Ubuntu didn't match the Raspbian and Gentoo results either. But this has been coming for a while. Easy access to more modern static analyzers such as coverity, scan-build and cppcheck has been decreasing the utility of splint, which is unmaintained and somewhat buggy and not easy to use. Only file not cleaned is ppsthread.c, because Gary has been working on it during this cleanup. All regression tests pass. PPS observed live on GR601-W.
* gpsd-report() -> gpsd_log()Eric S. Raymond2015-03-071-58/+60
| | | | | | | | | | | | | | | | This change is done so we can add a "log" hook to the pps_thread_t structure (this is not done yet) and harmonize with the name of the outer logging function. If that name had been left as gpsd_report() there would have been scope for bad confusion with the report_hook member. Also, remove two stray duplicative printf calls from the NMEA2000 driver (drivers shouldn't have printfs!) and fix one typo. This is a step towards factoring out ntplib. For that to happen, the PPS thread code needs to be decoupled from the core session structure. No logic changes. Object compatibility preserved. All regression tests pass.
* Remove some unused code and some port cruft.Eric S. Raymond2015-03-021-1/+0
| | | | All regression tests pass.
* Add str_starts_with macro, use it instead of strncmp.Zbigniew Chyla2015-01-211-8/+6
| | | | This change doesn't affect generated binary code.
* Always use sizeof to get array size, part 2Zbigniew Chyla2015-01-131-1/+1
|
* Always use sizeof to get array sizeZbigniew Chyla2015-01-131-2/+2
| | | | | | Don't use constant/expression from an array's definition when referring to its size. Eliminates redundancy and avoids problems when array size changes. The change doesn't affect generated code.
* Now that the transition is done we can restore the gpsd_report name.Eric S. Raymond2014-08-271-29/+29
| | | | All regression tests pass.
* All gpsd_reportcalls are gone. Only the unused definitins are left.Eric S. Raymond2014-08-271-38/+39
| | | | | | Next, implement labeled reporting and fix up gpson to do the right thing. All regression tests pass.
* The big leap. Most instances of gpsd_report are replaced...Eric S. Raymond2014-08-271-13/+13
| | | | | | | | | | | | | | | | ...with calls to gps_notify(), which indirects to its output method through a slot in an errout structure. Usually the errout structure lives inside the session context, but because struct errout_t is its own thing this does not have to be the case. One large clique of gpsd_notify() calls, in packet.c and isgps.c, looks at a struct errout_t copy in a lexer control block This change is not complete. Remnant gpsd_report calls need to be changed, and gpsmon needs to be tweaked so that the struct_error_t in its context is a non-defaukt hook updating the cuses display rather than simply dumping to stderr. Also the report label functionality needs to be added. All regression tests pass.
* Introduce struct errout_t to encapsulate error-reporting hooks.Eric S. Raymond2014-08-271-17/+17
| | | | | | A major step towards eliminating reverse linkage. All regression tests pass.
* Reduce gpsd log verbosity a lot.Eric S. Raymond2013-11-121-1/+1
| | | | | | | | | | Way too much logging was happening at LOG_IO level, which is intended for watching data traffic in and out of the daemon rather than all the minutiae of data analysis - that's LOG_DATA. Also, LOG_DATA gets pushed down two levels. The effect is that -D 5 means exactly what it did, but for purposes other than driver debugging -D 4 now suffices.
* Fix compiler warnings with clang 4.2 on OS X 10.7.5Beat Bolli2013-11-061-1/+1
| | | | | | | | | | | On OS X, /usr/include/sys/termios.h typedefs speed_t as unsigned long. On Linux, it is an unsigned int. This causes printf() format string warnings. Fix this by down-casting to an unsigned int and using "%u" as format. Also discard a close() result. Signed-off-by: Beat Bolli <bbolli@ewanet.ch> Signed-off-by: Eric S. Raymond <esr@thyrsus.com>
* Change gpsd_report to no longer use a global. All regression tests pass.Eric S. Raymond2013-09-291-59/+79
| | | | | | | | This is a large, ugly change. But without it we can't troubleshoot the ICP/IP-source initialization bug properly - colliding definitions of gpsd_report() were interfering with error reporting early in gpsd runs. More cleanup work remains to be done, but at least this is working.
* Lose the assumption that socket_t is an integer.Eric S. Raymond2012-09-221-1/+1
|
* Nuke trailing whitespace in C source.Eric S. Raymond2012-09-071-10/+10
|
* Yet more cppcheck fixups. All regression tests pass.Eric S. Raymond2012-05-181-6/+6
|
* Still working on pacifying Coverity. All regression tests pass.Eric S. Raymond2012-05-111-1/+1
|
* Coverity defect #13: a slow resource leak.Eric S. Raymond2012-05-111-0/+1
|
* Try to get Coverity suppressions to the right place.Eric S. Raymond2012-05-111-1/+1
|
* Pacify Coverity some more.Eric S. Raymond2012-05-111-1/+1
|
* Suppress Coverity false positives.Eric S. Raymond2012-05-101-1/+2
|
* Clue in Coverity about functions returning handles.Eric S. Raymond2012-05-101-0/+1
|
* Shameless microtweaking.Eric S. Raymond2012-05-101-1/+1
| | | | | | | for (;;) generates tighter code than while (1). No practical difference but it bugs me anyway. All regression tests pass.
* More Coverity-spawned fixes. All regression tests pass.Eric S. Raymond2012-05-091-6/+12
|
* More coverity-inspired fixes.Eric S. Raymond2012-05-091-1/+1
| | | | All regression tests pass ans soint runs clean.
* '-' in C filenames is confusing given local naming conventions. Fix this.Eric S. Raymond2011-06-291-1/+1
|
* Dirk wrote: "Could you add the header line "Host:" in the NTRIPDirk Stöcker2011-04-101-2/+4
| | | | | | | | | accesses of GPSD (like in net_ntrip.c). This is required to have virtual hosts support working. Currently we still need to provide individual IP's for NTRIP casters, as not all software supports this header line." Signed-off-by: Eric S. Raymond <esr@thyrsus.com>
* scan-build and splint cleanup. All regression tests pass.Eric S. Raymond2011-03-291-3/+4
|
* Magic-number and strncpy elimination. All regression tests passEric S. Raymond2011-03-291-5/+13
|
* Fix scan-build glitches. All regression tests pass.Eric S. Raymond2011-03-281-1/+1
|
* Eliminate the ntrip_state global.Eric S. Raymond2011-02-261-69/+39
|
* With this minor patch, working NTRIP is confirmed.Andre Naujoks2011-02-251-2/+2
| | | | Signed-off-by: Eric S. Raymond <esr@thyrsus.com>
* The NTRIP connection state musn't be zeroed on gpsd_activate().Eric S. Raymond2011-02-241-14/+16
| | | | Andre Naujoks informed me of this.
* Eliminate the context->netgnss_service member.Eric S. Raymond2011-02-241-2/+1
| | | | | | | | | This is more global context that really needed to be per-device state. Instead, create a per-devicd servicetype member to carry this information. Practically apeaking, this means gpsd can now watch multiple NTRIP and DGPS sessions without getting confused. All regressuin tests pass.
* Eliminate the dsock member in the context structure.Eric S. Raymond2011-02-241-2/+2
| | | | | | | | | | | | Another step towards integrating NTRIP support in a way that's actually correct for the daemon architecture. This involved conditioning out code for DGPSIP server lookups, a feature which was never documented and has probably been broken forever. It's actually not even clear there are still any DGPSIP servers still running; the dgpsip package was removed from Debiann at maintainer request in 2008 (see http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=392666). I may yet just rip out that code entirely.
* Move NTRIP per-connection state from global context to private driver area.Eric S. Raymond2011-02-241-24/+23
| | | | | | | The flap over probes revealed that the NTRIP support is bolted onto the daemon in a very awkward way that is likely to cause problems now that it's actually being, like, *used*. This is a step towards making it behave more like a normal driver.
* strcpy() elimination.Eric S. Raymond2011-02-221-1/+1
|
* NTRIP fixes from Andre Naujoks.Eric S. Raymond2011-02-211-168/+237
| | | | I fixed them up to splint clean.
* Bug fixes and improvements for the NTRIP code.Andre Naujoks2011-02-131-0/+3
| | | | | | | | | | | | | | | | | | | | | | The first thing I had to do to make RTCM work at all, was to remove the separate poll for the socket (the change in gpsd.c). The same stuff is done in consume_packet, so there is no loss here. In fact the duplicated read caused constant lock losses on the RTCM stream because of missing data, which was already read by the now removed read. Add RTCM2 passthrough to the UBX driver: versions of the firmware since 7.0 can handle this. The change in net_ntrip.c adds another string to the valid strings for rtcm2 to be recognized. See: http://www.sapos-ni-ntrip.de:2101/sourcetable.htm for the sourcetable of the server. The mountpoint I am using is EPS_NI. The problem is the RTCM1_ data format. The people from sapos confirmed, that this is a RTCM2 stream and so far it works. All regression tests pass. Signed-off-by: Eric S. Raymond <esr@thyrsus.com>
* More deheader testing.Eric S. Raymond2011-01-121-0/+1
|
* Back out the part of Beat Bolli's change that would spin on EAGAIN.Eric S. Raymond2011-01-051-2/+2
|