GUACAMOLE-351: Merge add "-v" parameter
This commit is contained in:
commit
329cc9ee48
@ -26,6 +26,7 @@ man_MANS = \
|
|||||||
man/guacd.conf.5
|
man/guacd.conf.5
|
||||||
|
|
||||||
noinst_HEADERS = \
|
noinst_HEADERS = \
|
||||||
|
conf.h \
|
||||||
conf-args.h \
|
conf-args.h \
|
||||||
conf-file.h \
|
conf-file.h \
|
||||||
conf-parse.h \
|
conf-parse.h \
|
||||||
|
@ -19,8 +19,8 @@
|
|||||||
|
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
|
||||||
|
#include "conf.h"
|
||||||
#include "conf-args.h"
|
#include "conf-args.h"
|
||||||
#include "conf-file.h"
|
|
||||||
#include "conf-parse.h"
|
#include "conf-parse.h"
|
||||||
|
|
||||||
#include <getopt.h>
|
#include <getopt.h>
|
||||||
@ -32,7 +32,7 @@ int guacd_conf_parse_args(guacd_config* config, int argc, char** argv) {
|
|||||||
|
|
||||||
/* Parse arguments */
|
/* Parse arguments */
|
||||||
int opt;
|
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 */
|
/* -l: Bind port */
|
||||||
if (opt == 'l') {
|
if (opt == 'l') {
|
||||||
@ -51,6 +51,11 @@ int guacd_conf_parse_args(guacd_config* config, int argc, char** argv) {
|
|||||||
config->foreground = 1;
|
config->foreground = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* -v: Print version and exit */
|
||||||
|
else if (opt == 'v') {
|
||||||
|
config->print_version = 1;
|
||||||
|
}
|
||||||
|
|
||||||
/* -p: PID file */
|
/* -p: PID file */
|
||||||
else if (opt == 'p') {
|
else if (opt == 'p') {
|
||||||
free(config->pidfile);
|
free(config->pidfile);
|
||||||
@ -105,7 +110,8 @@ int guacd_conf_parse_args(guacd_config* config, int argc, char** argv) {
|
|||||||
" [-C CERTIFICATE_FILE]"
|
" [-C CERTIFICATE_FILE]"
|
||||||
" [-K PEM_FILE]"
|
" [-K PEM_FILE]"
|
||||||
#endif
|
#endif
|
||||||
" [-f]\n", argv[0]);
|
" [-f]"
|
||||||
|
" [-v]\n", argv[0]);
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
@ -22,7 +22,7 @@
|
|||||||
|
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
|
||||||
#include "conf-file.h"
|
#include "conf.h"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Parses the given arguments into the given configuration. Zero is returned on
|
* Parses the given arguments into the given configuration. Zero is returned on
|
||||||
|
@ -19,6 +19,7 @@
|
|||||||
|
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
|
||||||
|
#include "conf.h"
|
||||||
#include "conf-file.h"
|
#include "conf-file.h"
|
||||||
#include "conf-parse.h"
|
#include "conf-parse.h"
|
||||||
|
|
||||||
@ -179,6 +180,7 @@ guacd_config* guacd_conf_load() {
|
|||||||
conf->bind_port = strdup("4822");
|
conf->bind_port = strdup("4822");
|
||||||
conf->pidfile = NULL;
|
conf->pidfile = NULL;
|
||||||
conf->foreground = 0;
|
conf->foreground = 0;
|
||||||
|
conf->print_version = 0;
|
||||||
conf->max_log_level = GUAC_LOG_INFO;
|
conf->max_log_level = GUAC_LOG_INFO;
|
||||||
|
|
||||||
#ifdef ENABLE_SSL
|
#ifdef ENABLE_SSL
|
||||||
|
@ -22,51 +22,7 @@
|
|||||||
|
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
|
||||||
#include <guacamole/client.h>
|
#include "conf.h"
|
||||||
|
|
||||||
/**
|
|
||||||
* The contents of a guacd configuration file.
|
|
||||||
*/
|
|
||||||
typedef struct guacd_config {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The host to bind on.
|
|
||||||
*/
|
|
||||||
char* bind_host;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The port to bind on.
|
|
||||||
*/
|
|
||||||
char* bind_port;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The file to write the PID in, if any.
|
|
||||||
*/
|
|
||||||
char* pidfile;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Whether guacd should run in the foreground.
|
|
||||||
*/
|
|
||||||
int foreground;
|
|
||||||
|
|
||||||
#ifdef ENABLE_SSL
|
|
||||||
/**
|
|
||||||
* SSL certificate file.
|
|
||||||
*/
|
|
||||||
char* cert_file;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* SSL private key file.
|
|
||||||
*/
|
|
||||||
char* key_file;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The maximum log level to be logged by guacd.
|
|
||||||
*/
|
|
||||||
guac_client_log_level max_log_level;
|
|
||||||
|
|
||||||
} guacd_config;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Reads the given file descriptor, parsing its contents into the guacd_config.
|
* Reads the given file descriptor, parsing its contents into the guacd_config.
|
||||||
|
@ -19,6 +19,7 @@
|
|||||||
|
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
|
||||||
|
#include "conf.h"
|
||||||
#include "conf-parse.h"
|
#include "conf-parse.h"
|
||||||
|
|
||||||
#include <guacamole/client.h>
|
#include <guacamole/client.h>
|
||||||
|
77
src/guacd/conf.h
Normal file
77
src/guacd/conf.h
Normal file
@ -0,0 +1,77 @@
|
|||||||
|
/*
|
||||||
|
* Licensed to the Apache Software Foundation (ASF) under one
|
||||||
|
* or more contributor license agreements. See the NOTICE file
|
||||||
|
* distributed with this work for additional information
|
||||||
|
* regarding copyright ownership. The ASF licenses this file
|
||||||
|
* to you under the Apache License, Version 2.0 (the
|
||||||
|
* "License"); you may not use this file except in compliance
|
||||||
|
* with the License. You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing,
|
||||||
|
* software distributed under the License is distributed on an
|
||||||
|
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||||
|
* KIND, either express or implied. See the License for the
|
||||||
|
* specific language governing permissions and limitations
|
||||||
|
* under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef GUACD_CONF_H
|
||||||
|
#define GUACD_CONF_H
|
||||||
|
|
||||||
|
#include "config.h"
|
||||||
|
|
||||||
|
#include <guacamole/client.h>
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The contents of a guacd configuration file.
|
||||||
|
*/
|
||||||
|
typedef struct guacd_config {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The host to bind on.
|
||||||
|
*/
|
||||||
|
char* bind_host;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The port to bind on.
|
||||||
|
*/
|
||||||
|
char* bind_port;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The file to write the PID in, if any.
|
||||||
|
*/
|
||||||
|
char* pidfile;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Whether guacd should run in the foreground.
|
||||||
|
*/
|
||||||
|
int foreground;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Whether guacd should simply print its version information and exit.
|
||||||
|
*/
|
||||||
|
int print_version;
|
||||||
|
|
||||||
|
#ifdef ENABLE_SSL
|
||||||
|
/**
|
||||||
|
* SSL certificate file.
|
||||||
|
*/
|
||||||
|
char* cert_file;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* SSL private key file.
|
||||||
|
*/
|
||||||
|
char* key_file;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The maximum log level to be logged by guacd.
|
||||||
|
*/
|
||||||
|
guac_client_log_level max_log_level;
|
||||||
|
|
||||||
|
} guacd_config;
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
@ -19,9 +19,10 @@
|
|||||||
|
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
|
||||||
#include "connection.h"
|
#include "conf.h"
|
||||||
#include "conf-args.h"
|
#include "conf-args.h"
|
||||||
#include "conf-file.h"
|
#include "conf-file.h"
|
||||||
|
#include "connection.h"
|
||||||
#include "log.h"
|
#include "log.h"
|
||||||
#include "proc-map.h"
|
#include "proc-map.h"
|
||||||
|
|
||||||
@ -279,6 +280,13 @@ int main(int argc, char* argv[]) {
|
|||||||
if (config == NULL || guacd_conf_parse_args(config, argc, argv))
|
if (config == NULL || guacd_conf_parse_args(config, argc, argv))
|
||||||
exit(EXIT_FAILURE);
|
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 */
|
/* Init logging as early as possible */
|
||||||
guacd_log_level = config->max_log_level;
|
guacd_log_level = config->max_log_level;
|
||||||
openlog(GUACD_LOG_NAME, LOG_PID, LOG_DAEMON);
|
openlog(GUACD_LOG_NAME, LOG_PID, LOG_DAEMON);
|
||||||
|
@ -30,6 +30,7 @@ guacd \- Guacamole proxy daemon
|
|||||||
[\fB-C\fR \fICERTIFICATE FILE\fR]
|
[\fB-C\fR \fICERTIFICATE FILE\fR]
|
||||||
[\fB-K\fR \fIKEY FILE\fR]
|
[\fB-K\fR \fIKEY FILE\fR]
|
||||||
[\fB-f\fR]
|
[\fB-f\fR]
|
||||||
|
[\fB-v\fR]
|
||||||
.
|
.
|
||||||
.SH DESCRIPTION
|
.SH DESCRIPTION
|
||||||
.B guacd
|
.B guacd
|
||||||
@ -80,6 +81,11 @@ Causes
|
|||||||
.B guacd
|
.B guacd
|
||||||
to run in the foreground, rather than automatically forking into the
|
to run in the foreground, rather than automatically forking into the
|
||||||
background.
|
background.
|
||||||
|
.TP
|
||||||
|
\fB\-v\fR
|
||||||
|
Causes
|
||||||
|
.B guacd
|
||||||
|
to simply print its version information and exit.
|
||||||
.
|
.
|
||||||
.SH SSL/TLS OPTIONS
|
.SH SSL/TLS OPTIONS
|
||||||
If libssl was present at the time
|
If libssl was present at the time
|
||||||
|
Loading…
Reference in New Issue
Block a user