Lines Matching +full:master +full:- +full:stats

2  * Copyright (c) 1997 - 2008 Kungliga Tekniska Högskolan
74 fd = socket(ai->ai_family, ai->ai_socktype, ai->ai_protocol); in make_signal_socket()
76 krb5_err (context, 1, rk_SOCK_ERRNO, "socket AF=%d", ai->ai_family); in make_signal_socket()
78 if (rk_IS_SOCKET_ERROR( bind (fd, ai->ai_addr, ai->ai_addrlen) )) in make_signal_socket()
193 if (asprintf(&slavefile, "%s/slaves", hdb_db_dir(context)) == -1 in check_acl()
201 "iprop-acl", in check_acl()
222 s->flags &= ~SLAVE_F_AYT; in slave_seen()
223 s->seen = time(NULL); in slave_seen()
229 if (time(NULL) > s->seen + time_before_missing) in slave_missing_p()
237 if (time(NULL) > s->seen + time_before_gone) in slave_gone_p()
245 krb5_warnx(context, "slave %s dead", s->name); in slave_dead()
247 if (!rk_IS_BAD_SOCKET(s->fd)) { in slave_dead()
248 rk_closesocket (s->fd); in slave_dead()
249 s->fd = rk_INVALID_SOCKET; in slave_dead()
251 s->flags |= SLAVE_F_DEAD; in slave_dead()
260 if (!rk_IS_BAD_SOCKET(s->fd)) in remove_slave()
261 rk_closesocket (s->fd); in remove_slave()
262 if (s->name) in remove_slave()
263 free (s->name); in remove_slave()
264 if (s->ac) in remove_slave()
265 krb5_auth_con_free (context, s->ac); in remove_slave()
267 for (p = root; *p; p = &(*p)->next) in remove_slave()
269 *p = s->next; in remove_slave()
291 s->name = NULL; in add_slave()
292 s->ac = NULL; in add_slave()
294 addr_len = sizeof(s->addr.sin6); in add_slave()
295 s->fd = accept (fd, (struct sockaddr *)&s->addr.sa, &addr_len); in add_slave()
296 if (rk_IS_BAD_SOCKET(s->fd)) { in add_slave()
312 ret = krb5_recvauth (context, &s->ac, &s->fd, in add_slave()
319 ret = krb5_unparse_name (context, ticket->client, &s->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()
334 if (strcmp(l->name, s->name) == 0) in add_slave()
336 l = l->next; in add_slave()
339 if (l->flags & SLAVE_F_DEAD) { 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()
350 s->version = 0; in add_slave()
351 s->flags = 0; in add_slave()
353 s->next = *root; in add_slave()
373 ret = hdb_entry2value (context, &entry->entry, &data); in prop_one()
381 memmove ((char *)data.data + 4, data.data, data.length - 4); in prop_one()
390 ret = krb5_write_priv_message (context, s->ac, &s->fd, &data); in prop_one()
408 ret = db->hdb_open (context, db, O_RDONLY, 0); in send_complete()
410 krb5_err (context, 1, ret, "db->open"); in send_complete()
421 ret = krb5_write_priv_message(context, s->ac, &s->fd, &data); in send_complete()
436 (*db->hdb_close)(context, db); in send_complete()
437 (*db->hdb_destroy)(context, db); in send_complete()
448 s->version = current_version; in send_complete()
450 ret = krb5_write_priv_message(context, s->ac, &s->fd, &data); in send_complete()
470 if (s->flags & (SLAVE_F_DEAD|SLAVE_F_AYT)) in send_are_you_there()
473 krb5_warnx(context, "slave %s missing, sending AYT", s->name); in send_are_you_there()
475 s->flags |= SLAVE_F_AYT; in send_are_you_there()
489 ret = krb5_write_priv_message(context, s->ac, &s->fd, &data); in send_are_you_there()
513 if (s->version == current_version) { in send_diffs()
515 s->name, (long)s->version); in send_diffs()
519 if (s->flags & SLAVE_F_DEAD) in send_diffs()
523 if (s->version == 0) { in send_diffs()
525 s->name); in send_diffs()
536 left = krb5_storage_seek(sp, -16, SEEK_CUR); in send_diffs()
537 if (ver == s->version) in send_diffs()
539 if (ver == s->version + 1) in send_diffs()
544 "slave %s (version %lu) out of sync with master " in send_diffs()
546 s->name, (unsigned long)s->version, (unsigned long)ver); in send_diffs()
553 s->name, (unsigned long)s->version, in send_diffs()
556 ret = krb5_data_alloc (&data, right - left + 4); in send_diffs()
563 krb5_storage_read (sp, (char *)data.data + 4, data.length - 4); in send_diffs()
575 ret = krb5_write_priv_message(context, s->ac, &s->fd, &data); in send_diffs()
585 s->version = current_version; in send_diffs()
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()
624 if (s->version == 0 && tmp != 0) { in process_msg()
627 "the master (version %lu) OUT OF SYNC", in process_msg()
628 s->name, (unsigned long)tmp, in process_msg()
631 s->version = tmp; in process_msg()
633 if ((uint32_t)tmp < s->version) { in process_msg()
673 asprintf(&statfile, "%s/slaves-stats", hdb_db_dir(context)); in open_stats()
678 "iprop-stats", in open_stats()
699 fprintf(fp, "master down at %s\n", str); in write_master_down()
719 fprintf(fp, "Master version: %lu\n\n", (unsigned long)current_version); in write_stats()
739 rtbl_add_column_entry(tbl, SLAVE_NAME, slaves->name); in write_stats()
741 (struct sockaddr*)&slaves->addr.sa, &addr); in write_stats()
749 snprintf(str, sizeof(str), "%u", (unsigned)slaves->version); in write_stats()
752 if (slaves->flags & SLAVE_F_DEAD) in write_stats()
757 ret = krb5_format_time(context, slaves->seen, str, sizeof(str), TRUE); in write_stats()
759 rtbl_add_column_entry(tbl, SLAVE_SEEN, "<error-formatting-time>"); in write_stats()
763 slaves = slaves->next; in write_stats()
786 { "config-file", 'c', arg_string, &config_file, NULL, NULL },
791 { "slave-stats-file", 0, arg_string, rk_UNCONST(&slave_stats_file),
793 { "time-missing", 0, arg_string, rk_UNCONST(&slave_time_missing),
795 { "time-gone", 0, arg_string, rk_UNCONST(&slave_time_gone),
804 "hostname of master (if not same as hostname)", "hostname" },
864 krb5_openlog (context, "ipropd-master", &log_facility); in main()
891 log_fd = open (server_context->log_context.log_file, O_RDONLY, 0); in main()
894 server_context->log_context.log_file); in main()
902 krb5_warnx(context, "ipropd-master started at version: %lu", in main()
926 for (p = slaves; p != NULL; p = p->next) { in main()
927 if (p->flags & SLAVE_F_DEAD) in main()
929 FD_SET(p->fd, &readset); in main()
930 max_fd = max(max_fd, p->fd); in main()
951 for (p = slaves; p != NULL; p = p->next) { in main()
952 if (p->flags & SLAVE_F_DEAD) in main()
972 --ret; in main()
981 for (p = slaves; p != NULL; p = p->next) { in main()
982 if (p->flags & SLAVE_F_DEAD) in main()
993 for(p = slaves; p != NULL; p = p->next) { in main()
994 if (p->flags & SLAVE_F_DEAD) in main()
996 if (ret && FD_ISSET(p->fd, &readset)) { in main()
997 --ret; in main()
1009 --ret; in main()
1014 --ret; in main()