Wykres commitów

53 Commity (16692258a1adab993308620dcf42d67643a39c1c)

Autor SHA1 Wiadomość Data
Michael Black c8eaf13a3d
Readding rigctld.c accidental removal 2019-12-25 07:58:19 -06:00
Michael Black 4e5e533248
Fix cppcheck warnings 2019-12-24 15:48:36 -06:00
Michael Black a401d3ac78
Fix memory leak in rigctld and cleanup debug 2019-12-20 11:22:09 -06:00
Michael Black 1dbd633d5a
Missed semicolon 2019-12-19 18:05:23 -06:00
Michael Black 2703423b72
Think I got the fd socket leak on windows fixed now 2019-12-19 18:03:02 -06:00
Michael Black bfe28e8032
Fix fd leak with fsockout 2019-12-19 17:09:18 -06:00
Michael Black fb73e5abd7
Fix some cppcheck warnings
Fix declarations after statements
Remove some !rig checks...we either don't need them or need them everywhere with a new error code
If you pass a NULL rig you get what you deserve :-)
2019-12-09 17:12:13 -06:00
Michael Black dc3f33bc11
Change %z to %d with casts for portability 2019-11-30 13:05:21 -06:00
Michael Black c69502e11c
Fix rigctld for win32 build 2019-11-30 10:27:49 -06:00
Michael Black 6bf3b00c4f
astyle all files 2019-11-30 10:19:08 -06:00
Michael Black 2f4d62709e
Added a dummy snprintf to rig_debug to allow gcc to check format strings
This found tons of errors in rig_debug statements
So this patch cleans up all the files that were producing warnings or errors
This should fix a few segfaults when running with debug turned on
2019-11-30 10:04:31 -06:00
Bill Somerville d931bd4e18
Move unnecessary global and file static variables to the stack 2019-08-29 00:39:39 +01:00
Michael Black 3dce8b01d1
Make rigctld thread safe for vfo_mode and ext_resp and change other globals to thread_local for future reference 2019-07-31 16:03:46 -05:00
Michael Black ad8a01f18d netrigctl can now do vfo mode -- has automatic detection of rigctld vfo mode
rigctl automatically detects vfo mode of rigctld
rigctli and rigctld recommend vfo mode if not selected
2019-02-05 12:05:51 -06:00
Michael Black W9MDB 35a28884f9 Fix -Z option on rigctld 2018-04-25 17:48:14 -05:00
Michael Black W9MDB 6c369109e6 Add debug time stamps via -Z and --debug-time-stamps 2018-04-15 15:06:52 -05:00
Michael Black W9MDB ca85f4740c Allow rigctld to reopen after error 2018-03-27 16:13:37 -05:00
Bill Somerville 489564a1af Make rig_open() call in rigctld lazy and add graceful termination
Because some  rigs lock their  front panel when  opened for CAT  it is
helpful  to   call  rig_close()  in   rigctld  when  no   clients  are
connected. This change does that.

A  CTRL+C handler  is also  added to  allow rig_close()  to be  called
during exit.
2018-03-12 19:47:45 +00:00
Nate Bargmann b692fb22ef Formatted tests/ to final coding guidelines 2017-10-06 18:58:42 -05:00
Nate Bargmann d489b8bcb5 Apply formatting to 'tests/' directory
Format per style guide.
2017-08-10 05:46:12 -05:00
Michael Black W9MDB cab7eb1647 Fix FT-891/991 behavior with WSJT-X
Separate FT-891 features
Fix rigctl and rigctld to not abort on function not available
Change Yaesu detection of FA length to automatic method instead of rig specific
2017-06-27 16:48:44 +01:00
Bill Somerville 2828422e92 Stop rigctld and rotctld crashing when service threads cannot write to clients
Although there is  no reasonable recovery from SIGPIPE we  do not want
to terminate the server process,  just the client servicing thread. We
do this by setting the disposition for SIGPIPE to ignored, this causes
an EPIPE to be returned from blocked write() and send() calls that end
up trying to send to a broken pipe/socket.
2017-05-22 21:56:41 -05:00
Nate Bargmann 4595f77f99 Touch up rigctld.c and rotctld.c with astyle
Prior reformat had only been a reindent with Emacs.  Now use astyle.
2016-02-14 18:05:55 -06:00
Nate Bargmann 9b45fce776 Reformat rigctld.c and rotctld.c
Several lines in each file benefitted from formatting so just reformat
the entire files into Linux C Style.
2016-02-12 20:46:38 -06:00
Bill Somerville e4e17ce862 Improve IPv6 portability and consistency
After  discussions with  Greg  N1DAM  I have  changed  the dual  stack
support to  explicitly allow IPv4  connections mapped to IPv6  for any
AF_INET6 address  since BSD  as well as  Windows defaults  this socket
option to on (disallowed).

IPv4 mapped to IPv6 makes sense  for Hamlib servers since starting two
servers  one  for each  protocol  family  (the  other option)  is  not
possible  since there  is only  a single  rig/rotator which  cannot be
shared between two servers.
2016-02-12 20:20:25 -06:00
Bill Somerville 04c545b9b9 Only use IPv6 features on Windows versions that support it (>=XP) 2016-02-12 15:30:41 +00:00
Bill Somerville ca7cbd89f4 Fix compiler warnings 2015-11-27 19:17:47 +00:00
Bill Somerville 181a3e9697 Proper IPv6 and dual stack networking
This means that rigctl & rigctld  now work with default arguments on a
modern Windows  machine with dual  stack and localhost being  [::1] as
the first interface returned by getaddrinfo().

Try all the interfaces return by DNS lookups to establish a connection
or listening  port. Handle  Windows network  errors correctly  so that
meaningful messages are printed.

The rigctl program now accepts  IPv6 numeric addresses in the portname
field like [<addr>}:<port> for example  the IPv6 loopback on port 4531
would be [::1]:4531.
2015-11-27 13:47:48 +00:00
Nate Bargmann 36f5f4cf6a Revert to previous handling of getaddrinfo()
Use the system gettaddrinfo function when possible as before.  Tested on
GNU, Cygwin, MinGW on Linux, and MinGW on Windows.  Under MinGW the
replacement getaddrinfo is used.  Perhaps this is an area for
investigation to be certain MinGW really doesn't supply getaddrinfo.
This reverts some of the patches from Remi Chateauneu in commit
60019c9.  This fixes build issues encountered building the Windows
binary daily snapshots.

Enabled static library build by default at configure time.

Fixed pthread library linking for the ars backend on MinGW.
2013-09-15 19:47:49 -05:00
Remi Chateauneu 60019c9444 Monolitic libraries. 2013-09-08 14:56:28 +01:00
Nate Bargmann b9ff04abf0 Fix W2k 'freeaddrinfo' error
Trying to run the pthread enabled binaries on W2k resulted in an error
dialog with the text, "The procedure entry point freeaddrinfo could not be
located in ws2_32.dll".  A Microsoft support page
(http://support.microsoft.com/kb/955045) hints that when 'ws2tcpip.h' is
included that 'wspiapi.h' should be included as well.  Since MinGw
includes both files, this patch corrects the runtime error on W2k
2013-05-18 07:31:40 -05:00
Nate Bargmann 7e9f628648 rigctld/rotctld: Remove -e|--end-marker option
Remove support for deprecated "End Marker" protocol in rigctld and
rotctld.
2013-02-05 14:40:41 -06:00
Andrew Errington 1a77ef9eb9 Initial support for CM108 GPIO contorl of PTT
Signed-off-by: Nate Bargmann <n0nb@n0nb.us>
2012-01-11 06:16:51 -06:00
Nate Bargmann b54932ec96 Assure NULL terminated strings in rigctl/rigctld
The -r, -p , and -d options could result in a port pathname that is
not a NULL terminated string as the allowed string length is the same
size as the buffer per the strncpy manual page.  This is corrected by
assuring that the allowed length is FILPATHLEN - 1.
2012-01-06 23:11:35 -06:00
Nate Bargmann 0882cd696d Update GPL/LGPL header in tests source files.
TNX to Lucian Laga, YO6PLB, for the notification.
2011-08-22 21:38:37 -05:00
Stephane Fillod 07bc66e7ab Port rigctld/rotctld to Mingw32
Sockets under Windows require specific startup and cleanup calls.
Besides, the standard fdopen() does no work on socket descriptors,
and has to be worked around thanks to _open_osfhandle().
2011-03-27 19:13:22 +02:00
Stéphane Fillod, F8CFE 8690fb0594 Implement exit status according to manual page:
1 if there was an invalid command line option or argument;
  2 if an error was returned by Hamlib.


git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@3009 7ae35d74-ebe9-4afe-98af-79ac388436b8
2010-12-01 21:41:55 +00:00
Stéphane Fillod, F8CFE 6ee58f0bff get ready for IPv6
git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@2883 7ae35d74-ebe9-4afe-98af-79ac388436b8
2010-04-16 20:50:14 +00:00
Nate Bargmann, N0NB 1f6604b188 Complete addition of Extended Response Protocol to rigctld
Update and synchronize rig and rot ctl(d) man pages
Update testctld.pl for ERp.



git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@2837 7ae35d74-ebe9-4afe-98af-79ac388436b8
2010-02-18 00:18:54 +00:00
Nate Bargmann, N0NB 14841cf118 Removed -b|--block option in favor of using '+' prepended to a command
from the client to request Extended Response protocol.



git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@2827 7ae35d74-ebe9-4afe-98af-79ac388436b8
2010-02-08 23:37:07 +00:00
Nate Bargmann, N0NB 5e47dcf8d3 Added two new commands to rigctl_parse.c, \chk_blk and \chk_vfo to allow
clients to query the state of the -b|--block or -o|--vfo options from rigctld

Cleaned up strings in dumpcaps.c to remove duplicates to facilite
their use as key:value pairs

Updated rigctld man page for new commands



git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@2820 7ae35d74-ebe9-4afe-98af-79ac388436b8
2010-02-04 00:53:56 +00:00
Nate Bargmann, N0NB 52a87d096c Added initial support for Block protocol in rigctld and documented same.
Rewrote testctld.pl for new block protocol and included it with 
source distribution.



git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@2813 7ae35d74-ebe9-4afe-98af-79ac388436b8
2010-01-24 23:24:20 +00:00
Stéphane Fillod, F8CFE 025c1f4dd1 flexible command termination for send_cmd
git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@2557 7ae35d74-ebe9-4afe-98af-79ac388436b8
2009-01-04 14:49:17 +00:00
Stéphane Fillod, F8CFE 6686489197 fix 'vfo_mode stuck to 0' bug found by Zhang Bo
git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@2496 7ae35d74-ebe9-4afe-98af-79ac388436b8
2008-12-10 08:37:35 +00:00
Stéphane Fillod, F8CFE f541b221fe new netrigctl/netrotctl protocol with return value
git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@2428 7ae35d74-ebe9-4afe-98af-79ac388436b8
2008-10-27 22:23:36 +00:00
Stéphane Fillod, F8CFE f7e6d60341 restrict listening IP address
git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@2399 7ae35d74-ebe9-4afe-98af-79ac388436b8
2008-09-21 20:32:08 +00:00
Stéphane Fillod, F8CFE 22beda2e28 create threads in detached state in order to prevent zombies
git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@2389 7ae35d74-ebe9-4afe-98af-79ac388436b8
2008-09-17 20:36:34 +00:00
Stéphane Fillod, F8CFE 591f77e271 fix thread-leak and pthread_create error code checking
git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@2388 7ae35d74-ebe9-4afe-98af-79ac388436b8
2008-09-17 18:56:13 +00:00
Stéphane Fillod, F8CFE b58bd02ef3 do not make rigctld conditional anoymore, check for winsock2 so rigctld can compile on mingw32
git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@2358 7ae35d74-ebe9-4afe-98af-79ac388436b8
2008-05-08 16:21:33 +00:00
Nate Bargmann, N0NB 6ff8d83364 Added info about `ldconfig' to INSTALL.
Removed unneeded variable in rigctl_parse.c as the prompt variable
already served the role needed to send the END command.


git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@2287 7ae35d74-ebe9-4afe-98af-79ac388436b8
2008-01-12 00:36:58 +00:00