Blame SOURCES/BZ_1926941-remove-the-varlink-support.patch

57ff79
From 6655f63d3c8d5a551925a43b1fbf16a153a5c4cc Mon Sep 17 00:00:00 2001
57ff79
From: Fernando Fernandez Mancera <ffmancera@riseup.net>
57ff79
Date: Tue, 16 Feb 2021 12:06:18 +0100
57ff79
Subject: [PATCH] varlink: remove the varlink support
57ff79
57ff79
There is no real user for varlink support on nispor. This patch is
57ff79
removing the varlink support and all the documentation related to it.
57ff79
57ff79
Signed-off-by: Fernando Fernandez Mancera <ffmancera@riseup.net>
57ff79
---
57ff79
 Cargo.toml                         |   1 -
57ff79
 DEVEL.md                           |   5 -
57ff79
 Makefile                           |  35 +---
57ff79
 README.md                          |  14 --
57ff79
 src/varlink/Cargo.toml             |  17 --
57ff79
 src/varlink/info.nispor.varlink    | 263 -----------------------------
57ff79
 src/varlink/info_nispor.rs         | 228 -------------------------
57ff79
 src/varlink/npd.rs                 |  51 ------
57ff79
 src/varlink/systemd/nispor.service |  10 --
57ff79
 src/varlink/systemd/nispor.socket  |  10 --
57ff79
 10 files changed, 5 insertions(+), 629 deletions(-)
57ff79
 delete mode 100644 src/varlink/Cargo.toml
57ff79
 delete mode 100644 src/varlink/info.nispor.varlink
57ff79
 delete mode 100644 src/varlink/info_nispor.rs
57ff79
 delete mode 100644 src/varlink/npd.rs
57ff79
 delete mode 100644 src/varlink/systemd/nispor.service
57ff79
 delete mode 100644 src/varlink/systemd/nispor.socket
57ff79
57ff79
diff --git a/Cargo.toml b/Cargo.toml
57ff79
index b03c824..59a55be 100644
57ff79
--- a/Cargo.toml
57ff79
+++ b/Cargo.toml
57ff79
@@ -1,6 +1,5 @@
57ff79
 [workspace]
57ff79
 members = [
57ff79
-    "src/varlink",
57ff79
     "src/lib",
57ff79
     "src/cli",
57ff79
     "src/clib",
57ff79
diff --git a/DEVEL.md b/DEVEL.md
57ff79
index bd96064..0ebcc1f 100644
57ff79
--- a/DEVEL.md
57ff79
+++ b/DEVEL.md
57ff79
@@ -9,7 +9,6 @@
57ff79
 * [Design](#design)
57ff79
     * [Rust module](#rust-module)
57ff79
     * [Command line tool](#command-line-tool)
57ff79
-    * [Varlink service](#varlink-service)
57ff79
     * [Python binding](#python-binding)
57ff79
     * [Check list for creating PR:](#check-list-for-creating-pr)
57ff79
 * [Release workflow](#release-workflow)
57ff79
@@ -43,10 +42,6 @@ Path: `src/lib`
57ff79
 
57ff79
 Path: `src/cli`
57ff79
 
57ff79
-### Varlink service
57ff79
-
57ff79
-Path: `src/varlink`
57ff79
-
57ff79
 ### Python binding
57ff79
 
57ff79
 Path: `src/python`
57ff79
diff --git a/Makefile b/Makefile
57ff79
index b628944..2e92906 100644
57ff79
--- a/Makefile
57ff79
+++ b/Makefile
57ff79
@@ -2,9 +2,6 @@ include ./Makefile.inc
57ff79
 
57ff79
 RUST_DEBUG_BIN_DIR=./target/debug
57ff79
 RUST_RELEASE_BIN_DIR=./target/release
57ff79
-VARLINK_SRV_EXEC=npd
57ff79
-VARLINK_SRV_EXEC_DEBUG=$(RUST_DEBUG_BIN_DIR)/$(VARLINK_SRV_EXEC)
57ff79
-VARLINK_SRV_EXEC_RELEASE=$(RUST_RELEASE_BIN_DIR)/$(VARLINK_SRV_EXEC)
57ff79
 CLI_EXEC=npc
57ff79
 CLI_EXEC_DEBUG=$(RUST_DEBUG_BIN_DIR)/$(CLI_EXEC)
57ff79
 CLIB_HEADER=nispor.h
57ff79
@@ -18,8 +15,6 @@ CLI_EXEC_RELEASE=$(RUST_RELEASE_BIN_DIR)/$(CLI_EXEC)
57ff79
 SOCKET_FILE=/run/nispor/nispor.so
57ff79
 SOCKET_DIR=$(dir $(SOCKET_FILE))
57ff79
 SOCKET_ADDR=unix:$(SOCKET_FILE)
57ff79
-SYSTEMD_SERVICE_FILE=src/varlink/systemd/nispor.service
57ff79
-SYSTEMD_SOCKET_FILE=src/varlink/systemd/nispor.socket
57ff79
 PREFIX ?= /usr/local
57ff79
 
57ff79
 CPU_BITS = $(shell getconf LONG_BIT)
57ff79
@@ -34,8 +29,7 @@ PKG_CONFIG_LIBDIR ?= $(LIBDIR)/pkgconfig
57ff79
 
57ff79
 SKIP_PYTHON_INSTALL ?=0
57ff79
 
57ff79
-all: $(VARLINK_SRV_EXEC_DEBUG) $(CLI_EXEC_DEBUG) \
57ff79
-    $(VARLINK_SRV_EXEC_RELEASE) $(CLI_EXEC_RELEASE)
57ff79
+all: $(CLI_EXEC_DEBUG) $(CLI_EXEC_RELEASE)
57ff79
 
57ff79
 SYSTEMD_SYS_UNIT_DIR ?= $(shell \
57ff79
 	pkg-config --variable=systemdsystemunitdir systemd)
57ff79
@@ -46,16 +40,16 @@ PYTHON3_SITE_DIR ?=$(shell \
57ff79
 		 print(get_python_lib())")
57ff79
 
57ff79
 # Always invoke cargo build for debug
57ff79
-.PHONY: $(VARLINK_SRV_EXEC_DEBUG) $(CLI_EXEC_DEBUG)
57ff79
+.PHONY: $(CLI_EXEC_DEBUG)
57ff79
 
57ff79
 debug: $(CLI_EXEC_DEBUG)
57ff79
 	$(CLI_EXEC_DEBUG) $(ARGS)
57ff79
 
57ff79
 
57ff79
-$(CLI_EXEC_DEBUG) $(VARLINK_SRV_EXEC_DEBUG):
57ff79
+$(CLI_EXEC_DEBUG):
57ff79
 	cargo build --all
57ff79
 
57ff79
-$(CLI_EXEC_RELEASE) $(VARLINK_SRV_EXEC_RELEASE) $(CLIB_SO_DEV_RELEASE):
57ff79
+$(CLI_EXEC_RELEASE) $(CLIB_SO_DEV_RELEASE):
57ff79
 	cargo build --all --release
57ff79
 
57ff79
 check:
57ff79
@@ -65,30 +59,13 @@ check:
57ff79
 	fi
57ff79
 	make check -C test/clib
57ff79
 
57ff79
-srv: $(VARLINK_SRV_EXEC_DEBUG)
57ff79
-	echo $(SOCKET_DIR)
57ff79
-	if [ ! -d $(SOCKET_DIR) ]; then \
57ff79
-		sudo mkdir $(SOCKET_DIR); \
57ff79
-		sudo chmod 0777 $(SOCKET_DIR); \
57ff79
-	fi
57ff79
-	$(VARLINK_SRV_EXEC_DEBUG) $(SOCKET_ADDR)
57ff79
-
57ff79
-cli:
57ff79
-	varlink call $(SOCKET_ADDR)/info.nispor.Get
57ff79
-
57ff79
 clean:
57ff79
 	cargo clean
57ff79
 	make clean -C test/clib
57ff79
 
57ff79
-install: $(VARLINK_SRV_EXEC_RELEASE) $(CLI_EXEC_RELEASE)
57ff79
-	install -p -v -D -m755 $(VARLINK_SRV_EXEC_RELEASE) \
57ff79
-		$(DESTDIR)$(PREFIX)/bin/$(VARLINK_SRV_EXEC)
57ff79
+install: $(CLI_EXEC_RELEASE)
57ff79
 	install -p -v -D -m755 $(CLI_EXEC_RELEASE) \
57ff79
 		$(DESTDIR)$(PREFIX)/bin/$(CLI_EXEC)
57ff79
-	install -p -v -D -m644 $(SYSTEMD_SOCKET_FILE) \
57ff79
-		$(DESTDIR)$(SYSTEMD_SYS_UNIT_DIR)/nispor.socket
57ff79
-	install -p -D -m644 $(SYSTEMD_SERVICE_FILE) \
57ff79
-		$(DESTDIR)$(SYSTEMD_SYS_UNIT_DIR)/nispor.service
57ff79
 	install -p -D -m755 $(CLIB_SO_DEV_RELEASE) \
57ff79
 		$(DESTDIR)$(LIBDIR)/$(CLIB_SO_FULL)
57ff79
 	ln -sfv $(CLIB_SO_FULL) $(DESTDIR)$(LIBDIR)/$(CLIB_SO_MAN)
57ff79
@@ -120,9 +97,7 @@ install: $(VARLINK_SRV_EXEC_RELEASE) $(CLI_EXEC_RELEASE)
57ff79
 
57ff79
 
57ff79
 uninstall:
57ff79
-	- rm -fv $(DESTDIR)$(PREFIX)/bin/$(VARLINK_SRV_EXEC)
57ff79
 	- rm -fv $(DESTDIR)$(PREFIX)/bin/$(CLI_EXEC)
57ff79
-	- rm -fv $(DESTDIR)$(SYSTEMD_SYS_UNIT_DIR)/nispor*
57ff79
 	- rm -fv $(DESTDIR)$(LIBDIR)/$(CLIB_SO_DEV)
57ff79
 	- rm -fv $(DESTDIR)$(LIBDIR)/$(CLIB_SO_MAN)
57ff79
 	- rm -fv $(DESTDIR)$(LIBDIR)/$(CLIB_SO_MIN)
57ff79
diff --git a/README.md b/README.md
57ff79
index 4a50e5e..c1eda2c 100644
57ff79
--- a/README.md
57ff79
+++ b/README.md
57ff79
@@ -5,7 +5,6 @@ Currently providing:
57ff79
  * Rust crate
57ff79
  * Python binding
57ff79
  * C binding
57ff79
- * Varlink interface -- `npd`
57ff79
  * Command line tool -- `npc`
57ff79
 
57ff79
 ## Install
57ff79
@@ -35,19 +34,6 @@ npc bond99
57ff79
 npc route
57ff79
 ```
57ff79
 
57ff79
-### Varlink service
57ff79
-
57ff79
-```bash
57ff79
-systemctl start nispor.socket
57ff79
-```
57ff79
-
57ff79
-### Varlink client
57ff79
-
57ff79
-```bash
57ff79
-# Please install `libvarlink-util` pacakge beforehand
57ff79
-varlink call unix:/run/nispor/nispor.so/info.nispor.Get
57ff79
-```
57ff79
-
57ff79
 ## Supported features
57ff79
  * IPv4/IPv6 address
57ff79
  * Bond
57ff79
diff --git a/src/varlink/Cargo.toml b/src/varlink/Cargo.toml
57ff79
deleted file mode 100644
57ff79
index c8775d4..0000000
57ff79
--- a/src/varlink/Cargo.toml
57ff79
+++ /dev/null
57ff79
@@ -1,17 +0,0 @@
57ff79
-[package]
57ff79
-name = "npd"
57ff79
-version = "1.0.1"
57ff79
-authors = ["Gris Ge <cnfourt@gmail.com>"]
57ff79
-edition = "2018"
57ff79
-
57ff79
-[[bin]]
57ff79
-name = "npd"
57ff79
-path = "npd.rs"
57ff79
-
57ff79
-[dependencies]
57ff79
-varlink = "11"
57ff79
-serde = "1.0"
57ff79
-serde_derive = "1.0"
57ff79
-serde_json = "1.0"
57ff79
-nispor = { path = "../lib" }
57ff79
-libc = "0.2.71"
57ff79
diff --git a/src/varlink/info.nispor.varlink b/src/varlink/info.nispor.varlink
57ff79
deleted file mode 100644
57ff79
index cc9b7d4..0000000
57ff79
--- a/src/varlink/info.nispor.varlink
57ff79
+++ /dev/null
57ff79
@@ -1,263 +0,0 @@
57ff79
-interface info.nispor
57ff79
-
57ff79
-type BondInfo (
57ff79
-    subordinates: []string,
57ff79
-    mode: []string,
57ff79
-    options: [string]string
57ff79
-)
57ff79
-
57ff79
-type BridgeInfo (
57ff79
-    stp_state: (disabled, kernel_stp, user_stp, unknown),
57ff79
-    hello_time: int,
57ff79
-    forward_delay: int,
57ff79
-    max_age: int,
57ff79
-    priority: int,
57ff79
-    subordinates: []string,
57ff79
-    ageing_time: int,
57ff79
-    bridge_id: string,
57ff79
-    group_fwd_mask: int,
57ff79
-    root_id: string,
57ff79
-    root_port: int,
57ff79
-    root_path_cost: int,
57ff79
-    topology_change: bool,
57ff79
-    topology_change_detected: bool,
57ff79
-    hello_timer: int,
57ff79
-    tcn_timer: int,
57ff79
-    topology_change_timer: int,
57ff79
-    multicast_router: (disabled, temp_query, perm, temp, unknown),
57ff79
-    multicast_snooping: bool,
57ff79
-    multicast_query_use_ifaddr: bool,
57ff79
-    multicast_querier: bool,
57ff79
-    multicast_stats_enabled: bool,
57ff79
-    multicast_hash_elasticity: int,
57ff79
-    multicast_hash_max: int,
57ff79
-    multicast_last_member_count: int,
57ff79
-    multicast_startup_query_count: int,
57ff79
-    multicast_last_member_interval: int,
57ff79
-    multicast_membership_interval: int,
57ff79
-    multicast_querier_interval: int,
57ff79
-    multicast_query_interval: int,
57ff79
-    multicast_query_response_interval: int,
57ff79
-    multicast_startup_query_interval: int,
57ff79
-    multicast_igmp_version: int,
57ff79
-    multicast_mld_version: int,
57ff79
-    gc_timer: int,
57ff79
-    group_addr: string,
57ff79
-    nf_call_iptables: bool,
57ff79
-    nf_call_ip6tables: bool,
57ff79
-    nf_call_arptables: bool,
57ff79
-    vlan_filtering: bool,
57ff79
-    vlan_protocol: (802.1q, 802.1ad),
57ff79
-    ?default_pvid: int,
57ff79
-)
57ff79
-
57ff79
-type BridgeVlanEntry (
57ff79
-    ?vid: int,
57ff79
-    ?vid_range: []int,
57ff79
-    is_pvid: bool,
57ff79
-    is_egress_untagged: bool,
57ff79
-)
57ff79
-
57ff79
-type BridgePortInfo (
57ff79
-    stp_state: (disabled, listening, learning, forwarding, blocking, unknown),
57ff79
-    stp_priority: int,
57ff79
-    stp_path_cost: int,
57ff79
-    hairpin_mode: bool,
57ff79
-    bpdu_guard: bool,
57ff79
-    root_block: bool,
57ff79
-    multicast_fast_leave: bool,
57ff79
-    learning: bool,
57ff79
-    unicast_flood: bool,
57ff79
-    proxyarp: bool,
57ff79
-    proxyarp_wifi: bool,
57ff79
-    designated_root: string,
57ff79
-    designated_bridge: string,
57ff79
-    designated_port: int,
57ff79
-    designated_cost: int,
57ff79
-    port_id: string,
57ff79
-    port_no: string,
57ff79
-    change_ack: bool,
57ff79
-    config_pending: bool,
57ff79
-    message_age_timer: int,
57ff79
-    forward_delay_timer: int,
57ff79
-    hold_timer: int,
57ff79
-    multicast_router: (disabled, temp_query, perm, temp, unknown),
57ff79
-    multicast_flood: bool,
57ff79
-    multicast_to_unicast: bool,
57ff79
-    vlan_tunnel: bool,
57ff79
-    broadcast_flood: bool,
57ff79
-    group_fwd_mask: int,
57ff79
-    neigh_suppress: bool,
57ff79
-    isolated: bool,
57ff79
-    ?backup_port: string,
57ff79
-    ?vlans: []BridgeVlanEntry,
57ff79
-)
57ff79
-
57ff79
-type Ipv4Info (
57ff79
-    addresses: []Ipv4AddrInfo
57ff79
-)
57ff79
-
57ff79
-type Ipv4AddrInfo (
57ff79
-    address: string,
57ff79
-    prefix_len: int,
57ff79
-    ?peer: string,
57ff79
-    valid_lft: string,
57ff79
-    preferred_lft: string
57ff79
-)
57ff79
-
57ff79
-type Ipv6Info (
57ff79
-    addresses: []Ipv6AddrInfo
57ff79
-)
57ff79
-
57ff79
-type Ipv6AddrInfo (
57ff79
-    address: string,
57ff79
-    prefix_len: int,
57ff79
-    valid_lft: string,
57ff79
-    preferred_lft: string
57ff79
-)
57ff79
-
57ff79
-type VlanInfo (
57ff79
-    vlan_id: int,
57ff79
-    protocol: (802.1q, 802.1ad, unknown),
57ff79
-    base_iface: string,
57ff79
-    is_reorder_hdr: bool,
57ff79
-    is_gvrp: bool,
57ff79
-    is_loose_binding: bool,
57ff79
-    is_mvrp: bool,
57ff79
-    is_bridge_binding: bool,
57ff79
-)
57ff79
-
57ff79
-type VfState (
57ff79
-    rx_packets: int,
57ff79
-    tx_packets: int,
57ff79
-    rx_bytes: int,
57ff79
-    tx_bytes: int,
57ff79
-    broadcast: int,
57ff79
-    multicast: int,
57ff79
-    rx_dropped: int,
57ff79
-    tx_dropped: int,
57ff79
-)
57ff79
-
57ff79
-type VfInfo (
57ff79
-    id: int,
57ff79
-    mac: string,
57ff79
-    broadcast: string,
57ff79
-    vlan_id: int,
57ff79
-    qos: int,
57ff79
-    tx_rate: int,
57ff79
-    spoof_check: int,
57ff79
-    link_state: (auto, enable, disable, unknown),
57ff79
-    min_tx_rate: int,
57ff79
-    max_tx_rate: int,
57ff79
-    query_rss: bool,
57ff79
-    state: VfState,
57ff79
-    trust: bool,
57ff79
-    ?ib_node_guid: string,
57ff79
-    ?ib_port_guid: string,
57ff79
-)
57ff79
-
57ff79
-type SriovInfo (
57ff79
-    vfs: []VfInfo,
57ff79
-)
57ff79
-
57ff79
-type TunInfo (
57ff79
-    mode: (tun, tap, unknown),
57ff79
-    pi: bool,
57ff79
-    vnet_hdr: bool,
57ff79
-    multi_queue: bool,
57ff79
-    persist: bool,
57ff79
-    ?owner: int,
57ff79
-    ?group: int,
57ff79
-    ?num_queues: int,
57ff79
-    ?num_disabled_queues: int,
57ff79
-)
57ff79
-
57ff79
-type VethInfo (
57ff79
-    peer: string,
57ff79
-)
57ff79
-
57ff79
-type VxlanInfo (
57ff79
-    remote: string,
57ff79
-    vxlan_id: int,
57ff79
-    base_iface: string,
57ff79
-    local: string,
57ff79
-    ttl: int,
57ff79
-    tos: int,
57ff79
-    learning: bool,
57ff79
-    ageing: int,
57ff79
-    max_address: int,
57ff79
-    src_port_min: int,
57ff79
-    src_port_max: int,
57ff79
-    proxy: bool,
57ff79
-    rsc: bool,
57ff79
-    l2miss: bool,
57ff79
-    l3miss: bool,
57ff79
-    dst_port: int,
57ff79
-    udp_check_sum: bool,
57ff79
-    udp6_zero_check_sum_tx: bool,
57ff79
-    udp6_zero_check_sum_rx: bool,
57ff79
-    remote_check_sum_tx: bool,
57ff79
-    remote_check_sum_rx: bool,
57ff79
-    gbp: bool,
57ff79
-    remote_check_sum_no_partial: bool,
57ff79
-    collect_metadata: bool,
57ff79
-    label: int,
57ff79
-    gpe: bool,
57ff79
-    ttl_inherit: bool,
57ff79
-    df: int,
57ff79
-)
57ff79
-
57ff79
-type VrfInfo (
57ff79
-    table_id: int,
57ff79
-    subordinates: []string,
57ff79
-)
57ff79
-
57ff79
-type VrfSubordinateInfo (
57ff79
-    table_id: int,
57ff79
-)
57ff79
-
57ff79
-type MacVlanInfo (
57ff79
-    base_iface: string,
57ff79
-    mode: (private, vepa, bridge, passthru, source, unknown),
57ff79
-    flags: int,
57ff79
-    ?allowed_mac_addresses: []string,
57ff79
-)
57ff79
-
57ff79
-type MacVtapInfo (
57ff79
-    base_iface: string,
57ff79
-    mode: (private, vepa, bridge, passthru, source, unknown),
57ff79
-    flags: int,
57ff79
-    ?allowed_mac_addresses: []string,
57ff79
-)
57ff79
-
57ff79
-type Iface (
57ff79
-    name: string,
57ff79
-    iface_type: string,
57ff79
-    state: (Up, Down, Unknown),
57ff79
-    mtu: int,
57ff79
-    ?bond: BondInfo,
57ff79
-    ?bond_subordinate: [string]string,
57ff79
-    ?bridge: BridgeInfo,
57ff79
-    ?bridge_port: BridgePortInfo,
57ff79
-    ?vlan: VlanInfo,
57ff79
-    ?vxlan: VxlanInfo,
57ff79
-    ?sriov: SriovInfo,
57ff79
-    ?tun: TunInfo,
57ff79
-    ?veth: VethInfo,
57ff79
-    ?vrf: VrfInfo,
57ff79
-    ?vrf_subordinate: VrfSubordinateInfo,
57ff79
-    ?mac_vlan: MacVlanInfo,
57ff79
-    ?mac_vtap: MacVtapInfo,
57ff79
-    ?controller: string,
57ff79
-    ?controller_type: (bond, unknown),
57ff79
-    ?ipv4: Ipv4Info,
57ff79
-    ?ipv6: Ipv6Info
57ff79
-)
57ff79
-
57ff79
-type NetState (
57ff79
-    ifaces: [string]Iface
57ff79
-)
57ff79
-
57ff79
-method Get() -> (net_state: NetState)
57ff79
-
57ff79
-error InternalError(msg: string)
57ff79
diff --git a/src/varlink/info_nispor.rs b/src/varlink/info_nispor.rs
57ff79
deleted file mode 100644
57ff79
index 1d614b5..0000000
57ff79
--- a/src/varlink/info_nispor.rs
57ff79
+++ /dev/null
57ff79
@@ -1,228 +0,0 @@
57ff79
-#![doc = "This file was automatically generated by the varlink rust generator"]
57ff79
-#![allow(non_camel_case_types)]
57ff79
-#![allow(non_snake_case)]
57ff79
-use nispor::NetState;
57ff79
-use serde_derive::{Deserialize, Serialize};
57ff79
-use serde_json;
57ff79
-use std::io::BufRead;
57ff79
-use std::sync::{Arc, RwLock};
57ff79
-use varlink::{self, CallTrait};
57ff79
-
57ff79
-#[allow(dead_code)]
57ff79
-#[derive(Clone, PartialEq, Debug)]
57ff79
-pub enum ErrorKind {
57ff79
-    Varlink_Error,
57ff79
-    VarlinkReply_Error,
57ff79
-    InternalError(Option<InternalError_Args>),
57ff79
-}
57ff79
-impl ::std::fmt::Display for ErrorKind {
57ff79
-    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
57ff79
-        match self {
57ff79
-            ErrorKind::Varlink_Error => write!(f, "Varlink Error"),
57ff79
-            ErrorKind::VarlinkReply_Error => write!(f, "Varlink error reply"),
57ff79
-            ErrorKind::InternalError(v) => {
57ff79
-                write!(f, "info.nispor.InternalError: {:#?}", v)
57ff79
-            }
57ff79
-        }
57ff79
-    }
57ff79
-}
57ff79
-pub struct Error(
57ff79
-    pub ErrorKind,
57ff79
-    pub Option<Box<dyn std::error::Error + 'static + Send + Sync>>,
57ff79
-    pub Option<&'static str>,
57ff79
-);
57ff79
-impl Error {
57ff79
-    #[allow(dead_code)]
57ff79
-    pub fn kind(&self) -> &ErrorKind {
57ff79
-        &self.0
57ff79
-    }
57ff79
-}
57ff79
-impl From<ErrorKind> for Error {
57ff79
-    fn from(e: ErrorKind) -> Self {
57ff79
-        Error(e, None, None)
57ff79
-    }
57ff79
-}
57ff79
-impl std::error::Error for Error {
57ff79
-    fn source(&self) -> Option<&(dyn std::error::Error + 'static)> {
57ff79
-        self.1
57ff79
-            .as_ref()
57ff79
-            .map(|e| e.as_ref() as &(dyn std::error::Error + 'static))
57ff79
-    }
57ff79
-}
57ff79
-impl std::fmt::Display for Error {
57ff79
-    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
57ff79
-        std::fmt::Display::fmt(&self.0, f)
57ff79
-    }
57ff79
-}
57ff79
-impl std::fmt::Debug for Error {
57ff79
-    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
57ff79
-        use std::error::Error as StdError;
57ff79
-        if let Some(ref o) = self.2 {
57ff79
-            std::fmt::Display::fmt(o, f)?;
57ff79
-        }
57ff79
-        std::fmt::Debug::fmt(&self.0, f)?;
57ff79
-        if let Some(e) = self.source() {
57ff79
-            std::fmt::Display::fmt("\nCaused by:\n", f)?;
57ff79
-            std::fmt::Debug::fmt(&e, f)?;
57ff79
-        }
57ff79
-        Ok(())
57ff79
-    }
57ff79
-}
57ff79
-#[allow(dead_code)]
57ff79
-pub type Result<T> = std::result::Result<T, Error>;
57ff79
-impl From<varlink::Error> for Error {
57ff79
-    fn from(e: varlink::Error) -> Self {
57ff79
-        match e.kind() {
57ff79
-            varlink::ErrorKind::VarlinkErrorReply(r) => Error(
57ff79
-                ErrorKind::from(r),
57ff79
-                Some(Box::from(e)),
57ff79
-                Some(concat!(file!(), ":", line!(), ": ")),
57ff79
-            ),
57ff79
-            _ => Error(
57ff79
-                ErrorKind::Varlink_Error,
57ff79
-                Some(Box::from(e)),
57ff79
-                Some(concat!(file!(), ":", line!(), ": ")),
57ff79
-            ),
57ff79
-        }
57ff79
-    }
57ff79
-}
57ff79
-#[allow(dead_code)]
57ff79
-impl Error {
57ff79
-    pub fn source_varlink_kind(&self) -> Option<&varlink::ErrorKind> {
57ff79
-        use std::error::Error as StdError;
57ff79
-        let mut s: &dyn StdError = self;
57ff79
-        while let Some(c) = s.source() {
57ff79
-            let k = self
57ff79
-                .source()
57ff79
-                .and_then(|e| e.downcast_ref::<varlink::Error>())
57ff79
-                .and_then(|e| Some(e.kind()));
57ff79
-            if k.is_some() {
57ff79
-                return k;
57ff79
-            }
57ff79
-            s = c;
57ff79
-        }
57ff79
-        None
57ff79
-    }
57ff79
-}
57ff79
-impl From<&varlink::Reply> for ErrorKind {
57ff79
-    #[allow(unused_variables)]
57ff79
-    fn from(e: &varlink::Reply) -> Self {
57ff79
-        match e {
57ff79
-            varlink::Reply {
57ff79
-                error: Some(ref t), ..
57ff79
-            } if t == "info.nispor.InternalError" => match e {
57ff79
-                varlink::Reply {
57ff79
-                    parameters: Some(p),
57ff79
-                    ..
57ff79
-                } => match serde_json::from_value(p.clone()) {
57ff79
-                    Ok(v) => ErrorKind::InternalError(v),
57ff79
-                    Err(_) => ErrorKind::InternalError(None),
57ff79
-                },
57ff79
-                _ => ErrorKind::InternalError(None),
57ff79
-            },
57ff79
-            _ => ErrorKind::VarlinkReply_Error,
57ff79
-        }
57ff79
-    }
57ff79
-}
57ff79
-pub trait VarlinkCallError: varlink::CallTrait {
57ff79
-    fn reply_internal_error(&mut self, r#msg: String) -> varlink::Result<()> {
57ff79
-        self.reply_struct(varlink::Reply::error(
57ff79
-            "info.nispor.InternalError",
57ff79
-            Some(
57ff79
-                serde_json::to_value(InternalError_Args { r#msg })
57ff79
-                    .map_err(varlink::map_context!())?,
57ff79
-            ),
57ff79
-        ))
57ff79
-    }
57ff79
-}
57ff79
-impl<'a> VarlinkCallError for varlink::Call<'a> {}
57ff79
-#[derive(Serialize, Deserialize, Debug, PartialEq, Clone)]
57ff79
-pub struct InternalError_Args {
57ff79
-    pub r#msg: String,
57ff79
-}
57ff79
-#[derive(Serialize, Deserialize, Debug, PartialEq, Clone)]
57ff79
-pub struct Get_Reply {
57ff79
-    pub r#net_state: NetState,
57ff79
-}
57ff79
-impl varlink::VarlinkReply for Get_Reply {}
57ff79
-#[derive(Serialize, Deserialize, Debug, PartialEq, Clone)]
57ff79
-pub struct Get_Args {}
57ff79
-pub trait Call_Get: VarlinkCallError {
57ff79
-    fn reply(&mut self, r#net_state: NetState) -> varlink::Result<()> {
57ff79
-        self.reply_struct(Get_Reply { r#net_state }.into())
57ff79
-    }
57ff79
-
57ff79
-    // TODO: Need better stuff
57ff79
-    fn fail(&mut self, msg: &str) -> varlink::Result<()> {
57ff79
-        self.reply_struct(varlink::Reply {
57ff79
-            continues: None,
57ff79
-            error: Some(format!("info.nispor.InternalError: {}", msg).into()),
57ff79
-            parameters: None,
57ff79
-        })
57ff79
-    }
57ff79
-}
57ff79
-impl<'a> Call_Get for varlink::Call<'a> {}
57ff79
-pub trait VarlinkInterface {
57ff79
-    fn get(&self, call: &mut dyn Call_Get) -> varlink::Result<()>;
57ff79
-    fn call_upgraded(
57ff79
-        &self,
57ff79
-        _call: &mut varlink::Call,
57ff79
-        _bufreader: &mut dyn BufRead,
57ff79
-    ) -> varlink::Result<Vec<u8>> {
57ff79
-        Ok(Vec::new())
57ff79
-    }
57ff79
-}
57ff79
-pub trait VarlinkClientInterface {
57ff79
-    fn get(&mut self) -> varlink::MethodCall<Get_Args, Get_Reply, Error>;
57ff79
-}
57ff79
-#[allow(dead_code)]
57ff79
-pub struct VarlinkClient {
57ff79
-    connection: Arc<RwLock<varlink::Connection>>,
57ff79
-}
57ff79
-impl VarlinkClient {
57ff79
-    #[allow(dead_code)]
57ff79
-    pub fn new(connection: Arc<RwLock<varlink::Connection>>) -> Self {
57ff79
-        VarlinkClient { connection }
57ff79
-    }
57ff79
-}
57ff79
-impl VarlinkClientInterface for VarlinkClient {
57ff79
-    fn get(&mut self) -> varlink::MethodCall<Get_Args, Get_Reply, Error> {
57ff79
-        varlink::MethodCall::<Get_Args, Get_Reply, Error>::new(
57ff79
-            self.connection.clone(),
57ff79
-            "info.nispor.Get",
57ff79
-            Get_Args {},
57ff79
-        )
57ff79
-    }
57ff79
-}
57ff79
-#[allow(dead_code)]
57ff79
-pub struct VarlinkInterfaceProxy {
57ff79
-    inner: Box<dyn VarlinkInterface + Send + Sync>,
57ff79
-}
57ff79
-#[allow(dead_code)]
57ff79
-pub fn new(
57ff79
-    inner: Box<dyn VarlinkInterface + Send + Sync>,
57ff79
-) -> VarlinkInterfaceProxy {
57ff79
-    VarlinkInterfaceProxy { inner }
57ff79
-}
57ff79
-impl varlink::Interface for VarlinkInterfaceProxy {
57ff79
-    fn get_description(&self) -> &'static str {
57ff79
-        "interface info.nispor\n\ntype IfaceState (\n    name: string,\n    iface_type: string,\n    state: (UP, DOWN, UNKNOWN),\n    mtu: int\n)\n\ntype NetState (\n    iface_states: [string]IfaceState\n)\n\n\nmethod Get() -> (net_state: NetState)\n\nerror InternalError(msg: string)\n"
57ff79
-    }
57ff79
-    fn get_name(&self) -> &'static str {
57ff79
-        "info.nispor"
57ff79
-    }
57ff79
-    fn call_upgraded(
57ff79
-        &self,
57ff79
-        call: &mut varlink::Call,
57ff79
-        bufreader: &mut dyn BufRead,
57ff79
-    ) -> varlink::Result<Vec<u8>> {
57ff79
-        self.inner.call_upgraded(call, bufreader)
57ff79
-    }
57ff79
-    fn call(&self, call: &mut varlink::Call) -> varlink::Result<()> {
57ff79
-        let req = call.request.unwrap();
57ff79
-        match req.method.as_ref() {
57ff79
-            "info.nispor.Get" => self.inner.get(call as &mut dyn Call_Get),
57ff79
-            m => call.reply_method_not_found(String::from(m)),
57ff79
-        }
57ff79
-    }
57ff79
-}
57ff79
diff --git a/src/varlink/npd.rs b/src/varlink/npd.rs
57ff79
deleted file mode 100644
57ff79
index 49e5d9b..0000000
57ff79
--- a/src/varlink/npd.rs
57ff79
+++ /dev/null
57ff79
@@ -1,51 +0,0 @@
57ff79
-use libc::umask;
57ff79
-use nispor::NetState;
57ff79
-use std::process::exit;
57ff79
-use varlink::{ListenConfig, VarlinkService};
57ff79
-
57ff79
-use crate::info_nispor::*;
57ff79
-
57ff79
-mod info_nispor;
57ff79
-
57ff79
-fn print_usage(program: &str) {
57ff79
-    println!("Usage: {} <varlink_address>", program);
57ff79
-}
57ff79
-
57ff79
-fn main() {
57ff79
-    let args: Vec<_> = std::env::args().collect();
57ff79
-    if args.len() <= 1 {
57ff79
-        print_usage(&args[0]);
57ff79
-        exit(1);
57ff79
-    }
57ff79
-    run_server(&args[1]).unwrap();
57ff79
-    exit(0);
57ff79
-}
57ff79
-
57ff79
-struct MyInfoGrisgeNispor {}
57ff79
-
57ff79
-impl VarlinkInterface for MyInfoGrisgeNispor {
57ff79
-    fn get(&self, call: &mut dyn Call_Get) -> varlink::Result<()> {
57ff79
-        match NetState::retrieve() {
57ff79
-            Ok(s) => call.reply(s),
57ff79
-            Err(e) => call.fail(&e.msg),
57ff79
-        }
57ff79
-    }
57ff79
-}
57ff79
-
57ff79
-fn run_server(address: &str) -> varlink::Result<()> {
57ff79
-    let my_varlink_iface = info_nispor::new(Box::new(MyInfoGrisgeNispor {}));
57ff79
-    let service = VarlinkService::new(
57ff79
-        "info.nispor",
57ff79
-        "Network status query service",
57ff79
-        "0.1",
57ff79
-        "http://nispor.info",
57ff79
-        vec![Box::new(my_varlink_iface)],
57ff79
-    );
57ff79
-    // Make sure the socket file been created with permission 0666.
57ff79
-    let old_umask = unsafe { umask(0o111) };
57ff79
-    varlink::listen(service, &address, &ListenConfig::default())?;
57ff79
-    unsafe {
57ff79
-        umask(old_umask);
57ff79
-    }
57ff79
-    Ok(())
57ff79
-}
57ff79
diff --git a/src/varlink/systemd/nispor.service b/src/varlink/systemd/nispor.service
57ff79
deleted file mode 100644
57ff79
index 134cd88..0000000
57ff79
--- a/src/varlink/systemd/nispor.service
57ff79
+++ /dev/null
57ff79
@@ -1,10 +0,0 @@
57ff79
-[Unit]
57ff79
-Description=Network Inspector(nispor) varlink service
57ff79
-
57ff79
-[Service]
57ff79
-ExecStart=/usr/bin/npd unix:/run/nispor/nispor.so
57ff79
-DynamicUser=yes
57ff79
-RuntimeDirectory=nispor
57ff79
-
57ff79
-[Install]
57ff79
-Also=nispor.socket
57ff79
diff --git a/src/varlink/systemd/nispor.socket b/src/varlink/systemd/nispor.socket
57ff79
deleted file mode 100644
57ff79
index f7d681b..0000000
57ff79
--- a/src/varlink/systemd/nispor.socket
57ff79
+++ /dev/null
57ff79
@@ -1,10 +0,0 @@
57ff79
-[Unit]
57ff79
-Description=Network Inspector(nispor) varlink service
57ff79
-PartOf=nispor.service
57ff79
-
57ff79
-[Socket]
57ff79
-ListenStream=/run/nispor/nispor.so
57ff79
-SocketMode=0666
57ff79
-
57ff79
-[Install]
57ff79
-WantedBy=sockets.target
57ff79
-- 
57ff79
2.29.2
57ff79