Lines Matching refs:context
49 make_signal_socket (krb5_context context) in make_signal_socket() argument
56 fn = kadm5_log_signal_socket(context); in make_signal_socket()
60 krb5_err (context, 1, errno, "socket AF_UNIX"); in make_signal_socket()
66 krb5_err (context, 1, errno, "bind %s", addr.sun_path); in make_signal_socket()
72 kadm5_log_signal_socket_info(context, 1, &ai); in make_signal_socket()
76 krb5_err (context, 1, rk_SOCK_ERRNO, "socket AF=%d", ai->ai_family); in make_signal_socket()
79 krb5_err (context, 1, rk_SOCK_ERRNO, "bind"); in make_signal_socket()
85 make_listen_socket (krb5_context context, const char *port_str) in make_listen_socket() argument
93 krb5_err (context, 1, rk_SOCK_ERRNO, "socket AF_INET"); in make_listen_socket()
99 addr.sin_port = krb5_getportbyname (context, in make_listen_socket()
108 krb5_errx (context, 1, "bad port `%s'", port_str); in make_listen_socket()
112 addr.sin_port = krb5_getportbyname (context, IPROP_SERVICE, in make_listen_socket()
116 krb5_err (context, 1, errno, "bind"); in make_listen_socket()
118 krb5_err (context, 1, errno, "listen"); in make_listen_socket()
123 make_listen6_socket (krb5_context context, const char *port_str) in make_listen6_socket() argument
131 krb5_err (context, 1, rk_SOCK_ERRNO, "socket AF_INET6"); in make_listen6_socket()
137 addr.sin6_port = krb5_getportbyname (context, in make_listen6_socket()
146 krb5_errx (context, 1, "bad port `%s'", port_str); in make_listen6_socket()
150 addr.sin6_port = krb5_getportbyname (context, IPROP_SERVICE, in make_listen6_socket()
154 krb5_err (context, 1, errno, "bind6"); in make_listen6_socket()
156 krb5_err (context, 1, errno, "listen6"); in make_listen6_socket()
185 check_acl (krb5_context context, const char *name) in check_acl() argument
193 if (asprintf(&slavefile, "%s/slaves", hdb_db_dir(context)) == -1 in check_acl()
197 fn = krb5_config_get_string_default(context, in check_acl()
243 slave_dead(krb5_context context, slave *s) in slave_dead() argument
245 krb5_warnx(context, "slave %s dead", s->name); in slave_dead()
256 remove_slave (krb5_context context, slave *s, slave **root) in remove_slave() argument
265 krb5_auth_con_free (context, s->ac); in remove_slave()
276 add_slave (krb5_context context, krb5_keytab keytab, slave **root, in add_slave() argument
288 krb5_warnx (context, "add_slave: no memory"); in add_slave()
297 krb5_warn (context, rk_SOCK_ERRNO, "accept"); in add_slave()
305 ret = krb5_sname_to_principal (context, hostname, IPROP_NAME, in add_slave()
308 krb5_warn (context, ret, "krb5_sname_to_principal"); in add_slave()
312 ret = krb5_recvauth (context, &s->ac, &s->fd, in add_slave()
314 krb5_free_principal (context, server); in add_slave()
316 krb5_warn (context, ret, "krb5_recvauth"); in add_slave()
319 ret = krb5_unparse_name (context, ticket->client, &s->name); in add_slave()
320 krb5_free_ticket (context, ticket); in add_slave()
322 krb5_warn (context, ret, "krb5_unparse_name"); in add_slave()
325 if (check_acl (context, s->name)) { in add_slave()
326 krb5_warnx (context, "%s not in acl", s->name); in add_slave()
340 remove_slave(context, l, root); in add_slave()
342 krb5_warnx (context, "second connection from %s", s->name); in add_slave()
348 krb5_warnx (context, "connection from %s", s->name); in add_slave()
357 remove_slave(context, s, root); in add_slave()
366 prop_one (krb5_context context, HDB *db, hdb_entry_ex *entry, void *v) in prop_one() argument
373 ret = hdb_entry2value (context, &entry->entry, &data); in prop_one()
390 ret = krb5_write_priv_message (context, s->ac, &s->fd, &data); in prop_one()
396 send_complete (krb5_context context, slave *s, in send_complete() argument
405 ret = hdb_create (context, &db, database); in send_complete()
407 krb5_err (context, 1, ret, "hdb_create: %s", database); in send_complete()
408 ret = db->hdb_open (context, db, O_RDONLY, 0); in send_complete()
410 krb5_err (context, 1, ret, "db->open"); in send_complete()
414 krb5_errx (context, 1, "krb5_storage_from_mem"); in send_complete()
421 ret = krb5_write_priv_message(context, s->ac, &s->fd, &data); in send_complete()
424 krb5_warn (context, ret, "krb5_write_priv_message"); in send_complete()
425 slave_dead(context, s); in send_complete()
429 ret = hdb_foreach (context, db, HDB_F_ADMIN_DATA, prop_one, s); in send_complete()
431 krb5_warn (context, ret, "hdb_foreach"); in send_complete()
432 slave_dead(context, s); in send_complete()
436 (*db->hdb_close)(context, db); in send_complete()
437 (*db->hdb_destroy)(context, db); in send_complete()
441 krb5_errx (context, 1, "krb5_storage_from_mem"); in send_complete()
450 ret = krb5_write_priv_message(context, s->ac, &s->fd, &data); in send_complete()
452 slave_dead(context, s); in send_complete()
453 krb5_warn (context, ret, "krb5_write_priv_message"); in send_complete()
463 send_are_you_there (krb5_context context, slave *s) in send_are_you_there() argument
473 krb5_warnx(context, "slave %s missing, sending AYT", s->name); in send_are_you_there()
482 krb5_warnx (context, "are_you_there: krb5_data_alloc"); in send_are_you_there()
483 slave_dead(context, s); in send_are_you_there()
489 ret = krb5_write_priv_message(context, s->ac, &s->fd, &data); in send_are_you_there()
492 krb5_warn (context, ret, "are_you_there: krb5_write_priv_message"); in send_are_you_there()
493 slave_dead(context, s); in send_are_you_there()
501 send_diffs (krb5_context context, slave *s, int log_fd, in send_diffs() argument
514 krb5_warnx(context, "slave %s in sync already at version %ld", in send_diffs()
524 krb5_warnx(context, "sending complete log to fresh slave %s", in send_diffs()
526 return send_complete (context, s, database, current_version); in send_diffs()
532 ret = kadm5_log_previous (context, sp, &ver, ×tamp, &op, &len); in send_diffs()
534 krb5_err(context, 1, ret, in send_diffs()
543 krb5_warnx(context, in send_diffs()
547 return send_complete (context, s, database, current_version); in send_diffs()
551 krb5_warnx(context, in send_diffs()
559 krb5_warn (context, ret, "send_diffs: krb5_data_alloc"); in send_diffs()
560 slave_dead(context, s); in send_diffs()
568 krb5_warnx (context, "send_diffs: krb5_storage_from_data"); in send_diffs()
569 slave_dead(context, s); in send_diffs()
575 ret = krb5_write_priv_message(context, s->ac, &s->fd, &data); in send_diffs()
579 krb5_warn (context, ret, "send_diffs: krb5_write_priv_message"); in send_diffs()
580 slave_dead(context, s); in send_diffs()
591 process_msg (krb5_context context, slave *s, int log_fd, in process_msg() argument
599 ret = krb5_read_priv_message(context, s->ac, &s->fd, &out); in process_msg()
601 krb5_warn (context, ret, "error reading message from %s", s->name); in process_msg()
607 krb5_warnx (context, "process_msg: no memory"); in process_msg()
612 krb5_warnx (context, "process_msg: client send too short command"); in process_msg()
620 krb5_warnx (context, "process_msg: client send too I_HAVE data"); in process_msg()
626 krb5_warnx (context, "Slave %s (version %lu) have later version " in process_msg()
634 krb5_warnx (context, "Slave claims to not have " in process_msg()
637 ret = send_diffs (context, s, log_fd, database, current_version); in process_msg()
645 krb5_warnx (context, "Ignoring command %d", tmp); in process_msg()
664 open_stats(krb5_context context) in open_stats() argument
673 asprintf(&statfile, "%s/slaves-stats", hdb_db_dir(context)); in open_stats()
674 fn = krb5_config_get_string_default(context, in open_stats()
689 write_master_down(krb5_context context) in write_master_down() argument
695 fp = open_stats(context); in write_master_down()
698 krb5_format_time(context, t, str, sizeof(str), TRUE); in write_master_down()
705 write_stats(krb5_context context, slave *slaves, uint32_t current_version) in write_stats() argument
712 fp = open_stats(context); in write_stats()
716 krb5_format_time(context, t, str, sizeof(str), TRUE); in write_stats()
740 ret = krb5_sockaddr2address (context, in write_stats()
744 krb5_free_address(context, &addr); in write_stats()
757 ret = krb5_format_time(context, slaves->seen, str, sizeof(str), TRUE); in write_stats()
814 krb5_context context; in main() local
826 optidx = krb5_program_setup(&context, argc, argv, args, num_args, NULL); in main()
838 asprintf(&config_file, "%s/kdc.conf", hdb_db_dir(context)); in main()
845 krb5_err(context, 1, ret, "getting configuration files"); in main()
847 ret = krb5_set_config_files(context, files); in main()
850 krb5_err(context, 1, ret, "reading configuration files"); in main()
854 krb5_errx (context, 1, "couldn't parse time: %s", slave_time_gone); in main()
857 krb5_errx (context, 1, "couldn't parse time: %s", slave_time_missing); in main()
864 krb5_openlog (context, "ipropd-master", &log_facility); in main()
865 krb5_set_warn_dest(context, log_facility); in main()
867 ret = krb5_kt_register(context, &hdb_kt_ops); in main()
869 krb5_err(context, 1, ret, "krb5_kt_register"); in main()
871 ret = krb5_kt_resolve(context, keytab_str, &keytab); in main()
873 krb5_err(context, 1, ret, "krb5_kt_resolve: %s", keytab_str); in main()
880 ret = kadm5_init_with_skey_ctx (context, in main()
887 krb5_err (context, 1, ret, "kadm5_init_with_password_ctx"); in main()
893 krb5_err (context, 1, errno, "open %s", in main()
896 signal_fd = make_signal_socket (context); in main()
897 listen_fd = make_listen_socket (context, port_str); in main()
898 listen6_fd = make_listen6_socket (context, port_str); in main()
902 krb5_warnx(context, "ipropd-master started at version: %lu", in main()
915 krb5_errx (context, 1, "fd too large"); in main()
939 krb5_err (context, 1, errno, "select"); in main()
947 krb5_warnx(context, in main()
954 send_diffs (context, p, log_fd, database, current_version); in main()
969 krb5_warn (context, errno, "recvfrom"); in main()
977 krb5_warnx(context, in main()
984 send_diffs (context, p, log_fd, database, current_version); in main()
987 krb5_warnx(context, in main()
999 if(process_msg (context, p, log_fd, database, current_version)) in main()
1000 slave_dead(context, p); in main()
1002 slave_dead(context, p); in main()
1004 send_are_you_there (context, p); in main()
1008 add_slave (context, keytab, &slaves, listen6_fd); in main()
1013 add_slave (context, keytab, &slaves, listen_fd); in main()
1017 write_stats(context, slaves, current_version); in main()
1021 krb5_warnx(context, "%s terminated", getprogname()); in main()
1024 krb5_warnx(context, "%s CPU time limit exceeded", getprogname()); in main()
1027 krb5_warnx(context, "%s unexpected exit reason: %ld", in main()
1030 write_master_down(context); in main()