Example #1
0
static void users_add_username(GNode* node, GString* command, gpointer format) {
	g_string_append_printf(command, format, node->data);

	g_strlcpy(users_current_username, node->data, LOGIN_NAME_MAX);

	if (!cloud_config_get_global("first_user")) {
		cloud_config_set_global("first_user", users_current_username);
	}
}
void ssh_authorized_keys_handler(GNode *node) {
	LOG(MOD "SSH authorized keys Handler running...\n");
	gchar *username = cloud_config_get_global("first_user");
	if (!username) {
		username = DEFAULT_USER_USERNAME;
	}

	LOG(MOD "User %s\n", (char*)username);
	g_node_traverse(node, G_IN_ORDER, G_TRAVERSE_LEAVES,
			-1, ssh_authorized_keys_item, username);
}
void ssh_authorized_keys_handler(GNode *node) {
	GString* ssh_keys = NULL;
	LOG(MOD "SSH authorized keys Handler running...\n");
	gchar *username = cloud_config_get_global("first_user");
	if (!username) {
		username = DEFAULT_USER_USERNAME;
	}

	LOG(MOD "User %s\n", (char*)username);
	ssh_keys = g_string_new("");
	g_node_traverse(node, G_IN_ORDER, G_TRAVERSE_LEAVES,
			-1, ssh_authorized_keys_item, ssh_keys);
	if (!write_ssh_keys(ssh_keys, username)) {
		LOG(MOD "Cannot write ssh keys\n");
	}
	g_string_free(ssh_keys, true);
}