Update copyright year
[freeradius.git] / src / main / radmin.c
index daac762..c9d3be9 100644 (file)
@@ -40,6 +40,7 @@ RCSID("$Id$")
 
 #ifdef HAVE_LIBREADLINE
 
+# include <stdio.h>
 #if defined(HAVE_READLINE_READLINE_H)
 #  include <readline/readline.h>
 #  define USE_READLINE (1)
@@ -64,7 +65,7 @@ RCSID("$Id$")
 /*
  *     For configuration file stuff.
  */
-char const *progname = "radmin";
+static char const *progname = "radmin";
 static char const *radmin_version = "radmin version " RADIUSD_VERSION_STRING
 #ifdef RADIUSD_VERSION_COMMIT
 " (git #" STRINGIFY(RADIUSD_VERSION_COMMIT) ")"
@@ -77,10 +78,7 @@ static char const *radmin_version = "radmin version " RADIUSD_VERSION_STRING
  *     they're running inside of the server.  And we don't (yet)
  *     have a "libfreeradius-server", or "libfreeradius-util".
  */
-log_lvl_t debug_flag = 0;
-struct main_config_t main_config;
-
-bool check_config = false;
+main_config_t main_config;
 
 static bool echo = false;
 static char const *secret = "testing123";
@@ -138,7 +136,7 @@ static int client_socket(char const *server)
                exit(1);
        }
 
-       sockfd = fr_tcp_client_socket(NULL, &ipaddr, port);
+       sockfd = fr_socket_client_tcp(NULL, &ipaddr, port, false);
        if (sockfd < 0) {
                fprintf(stderr, "%s: Failed opening socket %s: %s\n",
                        progname, server, fr_syserror(errno));
@@ -223,8 +221,7 @@ static ssize_t run_command(int sockfd, char const *command,
 
                        memcpy(&status, buffer, sizeof(status));
                        status = ntohl(status);
-                       // set the status from the data
-                       return 1 + status;
+                       return status;
 
                default:
                        fprintf(stderr, "Unexpected response\n");
@@ -256,7 +253,7 @@ static int do_connect(int *out, char const *file, char const *server)
                /*
                 *      FIXME: Get destination from command line, if possible?
                 */
-               sockfd = fr_domain_socket(file);
+               sockfd = fr_socket_client_unix(file, false);
                if (sockfd < 0) {
                        fr_perror("radmin");
                        if (errno == ENOENT) {
@@ -473,6 +470,7 @@ int main(int argc, char **argv)
 
                if (cf_file_read(cs, buffer) < 0) {
                        fprintf(stderr, "%s: Errors reading or parsing %s\n", progname, buffer);
+                       talloc_free(cs);
                        usage(1);
                }
 
@@ -599,14 +597,14 @@ int main(int argc, char **argv)
                        len = run_command(sockfd, commands[i], buffer, sizeof(buffer));
                        if (len < 0) exit(1);
 
-                       if (len == 1) exit_status = EXIT_FAILURE;
+                       if (len == FR_CHANNEL_FAIL) exit_status = EXIT_FAILURE;
                }
                exit(exit_status);
        }
 
        if (!quiet) {
                printf("%s - FreeRADIUS Server administration tool.\n", radmin_version);
-               printf("Copyright (C) 2008-2015 The FreeRADIUS server project and contributors.\n");
+               printf("Copyright (C) 2008-2017 The FreeRADIUS server project and contributors.\n");
                printf("There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A\n");
                printf("PARTICULAR PURPOSE.\n");
                printf("You may redistribute copies of FreeRADIUS under the terms of the\n");
@@ -722,7 +720,7 @@ int main(int argc, char **argv)
        retry:
                len = run_command(sockfd, line, buffer, sizeof(buffer));
                if (len < 0) {
-                       if (!quiet) fprintf(stderr, "Reconnecting...");
+                       if (!quiet) fprintf(stderr, "... reconnecting ...\n");
 
                        if (do_connect(&sockfd, file, server) < 0) {
                                exit(1);
@@ -734,10 +732,10 @@ int main(int argc, char **argv)
                        fprintf(stderr, "Failed to connect to server\n");
                        exit(1);
 
-               } else if (len == 0) {
+               } else if (len == FR_CHANNEL_SUCCESS) {
                        break;
 
-               } else if (len == 1) {
+               } else if (len == FR_CHANNEL_FAIL) {
                        exit_status = EXIT_FAILURE;
                }
        }