You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@guacamole.apache.org by vn...@apache.org on 2018/02/08 03:37:16 UTC

[2/3] guacamole-server git commit: GUACAMOLE-351: Add "-v" option which causes guacd to print its version information and exit.

GUACAMOLE-351: Add "-v" option which causes guacd to print its version information and exit.


Project: http://git-wip-us.apache.org/repos/asf/guacamole-server/repo
Commit: http://git-wip-us.apache.org/repos/asf/guacamole-server/commit/3b327378
Tree: http://git-wip-us.apache.org/repos/asf/guacamole-server/tree/3b327378
Diff: http://git-wip-us.apache.org/repos/asf/guacamole-server/diff/3b327378

Branch: refs/heads/master
Commit: 3b327378eba90f744ec9d9ac2b93dde10dcbfdf3
Parents: f4f5b4e
Author: Michael Jumper <mj...@apache.org>
Authored: Wed Feb 7 13:41:22 2018 -0800
Committer: Michael Jumper <mj...@apache.org>
Committed: Wed Feb 7 13:45:13 2018 -0800

----------------------------------------------------------------------
 src/guacd/conf-args.c    | 10 ++++++++--
 src/guacd/conf-file.c    |  1 +
 src/guacd/conf.h         |  5 +++++
 src/guacd/daemon.c       |  7 +++++++
 src/guacd/man/guacd.8.in |  6 ++++++
 5 files changed, 27 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/guacamole-server/blob/3b327378/src/guacd/conf-args.c
----------------------------------------------------------------------
diff --git a/src/guacd/conf-args.c b/src/guacd/conf-args.c
index 1e92e86..239eb3a 100644
--- a/src/guacd/conf-args.c
+++ b/src/guacd/conf-args.c
@@ -32,7 +32,7 @@ int guacd_conf_parse_args(guacd_config* config, int argc, char** argv) {
 
     /* Parse arguments */
     int opt;
-    while ((opt = getopt(argc, argv, "l:b:p:L:C:K:f")) != -1) {
+    while ((opt = getopt(argc, argv, "l:b:p:L:C:K:fv")) != -1) {
 
         /* -l: Bind port */
         if (opt == 'l') {
@@ -51,6 +51,11 @@ int guacd_conf_parse_args(guacd_config* config, int argc, char** argv) {
             config->foreground = 1;
         }
 
+        /* -v: Print version and exit */
+        else if (opt == 'v') {
+            config->print_version = 1;
+        }
+
         /* -p: PID file */
         else if (opt == 'p') {
             free(config->pidfile);
@@ -105,7 +110,8 @@ int guacd_conf_parse_args(guacd_config* config, int argc, char** argv) {
                     " [-C CERTIFICATE_FILE]"
                     " [-K PEM_FILE]"
 #endif
-                    " [-f]\n", argv[0]);
+                    " [-f]"
+                    " [-v]\n", argv[0]);
 
             return 1;
         }

http://git-wip-us.apache.org/repos/asf/guacamole-server/blob/3b327378/src/guacd/conf-file.c
----------------------------------------------------------------------
diff --git a/src/guacd/conf-file.c b/src/guacd/conf-file.c
index b99a852..460ec95 100644
--- a/src/guacd/conf-file.c
+++ b/src/guacd/conf-file.c
@@ -180,6 +180,7 @@ guacd_config* guacd_conf_load() {
     conf->bind_port = strdup("4822");
     conf->pidfile = NULL;
     conf->foreground = 0;
+    conf->print_version = 0;
     conf->max_log_level = GUAC_LOG_INFO;
 
 #ifdef ENABLE_SSL

http://git-wip-us.apache.org/repos/asf/guacamole-server/blob/3b327378/src/guacd/conf.h
----------------------------------------------------------------------
diff --git a/src/guacd/conf.h b/src/guacd/conf.h
index 3ecccb4..f444cee 100644
--- a/src/guacd/conf.h
+++ b/src/guacd/conf.h
@@ -49,6 +49,11 @@ typedef struct guacd_config {
      */
     int foreground;
 
+    /**
+     * Whether guacd should simply print its version information and exit.
+     */
+    int print_version;
+
 #ifdef ENABLE_SSL
     /**
      * SSL certificate file.

http://git-wip-us.apache.org/repos/asf/guacamole-server/blob/3b327378/src/guacd/daemon.c
----------------------------------------------------------------------
diff --git a/src/guacd/daemon.c b/src/guacd/daemon.c
index af7b29d..054821a 100644
--- a/src/guacd/daemon.c
+++ b/src/guacd/daemon.c
@@ -280,6 +280,13 @@ int main(int argc, char* argv[]) {
     if (config == NULL || guacd_conf_parse_args(config, argc, argv))
        exit(EXIT_FAILURE);
 
+    /* If requested, simply print version and exit, without initializing the
+     * logging system, etc. */
+    if (config->print_version) {
+        printf("Guacamole proxy daemon (guacd) version " VERSION "\n");
+        exit(EXIT_SUCCESS);
+    }
+
     /* Init logging as early as possible */
     guacd_log_level = config->max_log_level;
     openlog(GUACD_LOG_NAME, LOG_PID, LOG_DAEMON);

http://git-wip-us.apache.org/repos/asf/guacamole-server/blob/3b327378/src/guacd/man/guacd.8.in
----------------------------------------------------------------------
diff --git a/src/guacd/man/guacd.8.in b/src/guacd/man/guacd.8.in
index c5ed918..65fc9d5 100644
--- a/src/guacd/man/guacd.8.in
+++ b/src/guacd/man/guacd.8.in
@@ -30,6 +30,7 @@ guacd \- Guacamole proxy daemon
 [\fB-C\fR \fICERTIFICATE FILE\fR]
 [\fB-K\fR \fIKEY FILE\fR]
 [\fB-f\fR]
+[\fB-v\fR]
 .
 .SH DESCRIPTION
 .B guacd
@@ -80,6 +81,11 @@ Causes
 .B guacd
 to run in the foreground, rather than automatically forking into the
 background.
+.TP
+\fB\-v\fR
+Causes
+.B guacd
+to simply print its version information and exit.
 .
 .SH SSL/TLS OPTIONS
 If libssl was present at the time