539
540
fprintf(stderr, "Establishing TLS session with %s\n", ip);
542
543
gnutls_transport_set_ptr (session, (gnutls_transport_ptr_t) tcp_sd);
545
546
ret = gnutls_handshake (session);
546
547
} while(ret == GNUTLS_E_AGAIN or ret == GNUTLS_E_INTERRUPTED);
782
783
{ .name = "debug", .key = 128,
783
784
.doc = "Debug mode", .group = 3 },
784
785
{ .name = "connect", .key = 'c',
785
.arg = "ADDRESS:PORT",
786
.doc = "Connect directly to a specific Mandos server",
787
.doc = "Connect directly to a sepcified mandos server",
788
789
{ .name = "interface", .key = 'i',
790
.doc = "Interface that will be used to search for Mandos"
791
.doc = "Interface that Avahi will conntect through",
793
793
{ .name = "keydir", .key = 'd',
795
.doc = "Directory to read the OpenPGP key files from",
795
.doc = "Directory where the openpgp keyring is",
797
797
{ .name = "seckey", .key = 's',
799
.doc = "OpenPGP secret key file base name",
799
.doc = "Secret openpgp key for gnutls authentication",
801
801
{ .name = "pubkey", .key = 'p',
803
.doc = "OpenPGP public key file base name",
803
.doc = "Public openpgp key for gnutls authentication",
805
805
{ .name = "dh-bits", .key = 129,
807
.doc = "Bit length of the prime number used in the"
808
" Diffie-Hellman key exchange",
807
.doc = "dh-bits to use in gnutls communication",
810
809
{ .name = "priority", .key = 130,
812
.doc = "GnuTLS priority string for the TLS handshake",
811
.doc = "GNUTLS priority", .group = 1 },
817
816
error_t parse_opt (int key, char *arg,
818
817
struct argp_state *state) {
861
860
struct argp argp = { .options = options, .parser = parse_opt,
863
862
.doc = "Mandos client -- Get and decrypt"
864
" passwords from a Mandos server" };
863
" passwords from mandos server" };
865
864
ret = argp_parse (&argp, argc, argv, 0, 0, NULL);
866
865
if (ret == ARGP_ERR_UNKNOWN){
867
866
fprintf(stderr, "Unknown error while parsing arguments\n");
990
989
config.publish_addresses = 0;
991
990
config.publish_workstation = 0;
992
991
config.publish_domain = 0;
994
993
/* Allocate a new server */
995
994
mc.server = avahi_server_new(avahi_simple_poll_get
996
995
(mc.simple_poll), &config, NULL,
999
998
/* Free the Avahi configuration data */
1000
999
avahi_server_config_free(&config);