--- embedaddon/mpd/src/command.c 2013/07/22 08:44:29 1.1.1.2 +++ embedaddon/mpd/src/command.c 2016/11/01 09:56:12 1.1.1.3 @@ -167,6 +167,8 @@ { 0, GLOBAL_CONF_TCPWRAPPER, "tcp-wrapper" }, #endif { 0, GLOBAL_CONF_ONESHOT, "one-shot" }, + { 0, GLOBAL_CONF_AGENT_CID, "agent-cid" }, + { 0, GLOBAL_CONF_SESS_TIME, "session-time" }, { 0, 0, NULL }, }; @@ -357,7 +359,7 @@ }; const struct cmdtab gCommands[] = { - { "authname {name}", "Choose link by auth name", + { "authname {name} [CI]", "Choose link by auth name", AuthnameCommand, NULL, 0, NULL }, { "bundle [{name}]", "Choose/list bundles", BundCommand, NULL, 0, NULL }, @@ -383,7 +385,7 @@ MSessionCommand, NULL, 0, NULL }, { "open [{layer}]", "Open a layer", OpenCommand, NULL, 1, NULL }, - { "quit", "Quit program", + { "shutdown", "Shutdown program", QuitCommand, NULL, 2, NULL }, { "repeater [{name}]", "Choose/list repeaters", RepCommand, NULL, 0, NULL }, @@ -887,6 +889,11 @@ ShowVersion(Context ctx, int ac, char *av[], void *arg #else Printf(" config fetch : no\r\n"); #endif +#ifdef USE_BACKTRACE + Printf(" backtrace() : yes\r\n"); +#else + Printf(" backtrace() : no\r\n"); +#endif #ifdef USE_NG_BPF Printf(" ng_bpf : yes\r\n"); #else @@ -1162,7 +1169,8 @@ CloseCommand(Context ctx, int ac, char *av[], void *ar static Layer GetLayer(const char *name) { - int k, found; + size_t k; + int found; if (name == NULL) name = "iface"; @@ -1189,7 +1197,7 @@ GetLayer(const char *name) static int ShowLayers(Context ctx, int ac, char *av[], void *arg) { - int k; + size_t k; Printf("\tName\t\tDescription\r\n"); Printf("\t----\t\t-----------\r\n"); @@ -1311,7 +1319,7 @@ ShowSessions(Context ctx, int ac, char *av[], void *ar int l; Bund B; Link L; - char peer[64], addr[64]; + char peer[64], addr[64], buf[64]; if (ac != 0 && ac != 1) return (-1); @@ -1379,6 +1387,14 @@ out: L->lcp.auth.params.authname, peer ); + if (Enabled(&gGlobalConf.options, GLOBAL_CONF_AGENT_CID)) { + PhysGetSelfName(L, buf, sizeof(buf)); + Printf("\t%s", buf); + } + if (Enabled(&gGlobalConf.options, GLOBAL_CONF_SESS_TIME)) { + if (L->state == PHYS_STATE_UP) + Printf("\t%ld", (long int)(time(NULL) - L->last_up)); + } Printf("\r\n"); } } @@ -1430,16 +1446,16 @@ ShowCustomer(Context ctx, int ac, char *av[], void *ar if (!SLIST_EMPTY(&iface->routes) || !SLIST_EMPTY(&b->params.routes)) { Printf("\tRoutes via peer :\r\n"); SLIST_FOREACH(r, &iface->routes, next) - Printf("\t\t%s\r\n", u_rangetoa(&r->dest,buf,sizeof(buf))); + Printf("\t\t: %s\r\n", u_rangetoa(&r->dest,buf,sizeof(buf))); SLIST_FOREACH(r, &b->params.routes, next) - Printf("\t\t%s\r\n", u_rangetoa(&r->dest,buf,sizeof(buf))); + Printf("\t\t: %s\r\n", u_rangetoa(&r->dest,buf,sizeof(buf))); } #ifdef USE_IPFW if (b->params.acl_pipe) { Printf("\tIPFW pipes :\r\n"); a = b->params.acl_pipe; while (a) { - Printf("\t\t%d (%d)\t'%s'\r\n", a->number, a->real_number, a->rule); + Printf("\t\t%d (%d)\t: '%s'\r\n", a->number, a->real_number, a->rule); a = a->next; } } @@ -1447,7 +1463,7 @@ ShowCustomer(Context ctx, int ac, char *av[], void *ar Printf("\tIPFW queues :\r\n"); a = b->params.acl_queue; while (a) { - Printf("\t\t%d (%d)\t'%s'\r\n", a->number, a->real_number, a->rule); + Printf("\t\t%d (%d)\t: '%s'\r\n", a->number, a->real_number, a->rule); a = a->next; } } @@ -1456,9 +1472,9 @@ ShowCustomer(Context ctx, int ac, char *av[], void *ar a = b->params.acl_table; while (a) { if (a->number != 0) - Printf("\t\t%d (%d)\t'%s'\r\n", a->number, a->real_number, a->rule); + Printf("\t\t%d (%d)\t: '%s'\r\n", a->number, a->real_number, a->rule); else - Printf("\t\t(%d)\t'%s'\r\n", a->real_number, a->rule); + Printf("\t\t(%d)\t: '%s'\r\n", a->real_number, a->rule); a = a->next; } } @@ -1466,7 +1482,7 @@ ShowCustomer(Context ctx, int ac, char *av[], void *ar Printf("\tIPFW rules :\r\n"); a = b->params.acl_rule; while (a) { - Printf("\t\t%d (%d)\t'%s'\r\n", a->number, a->real_number, a->rule); + Printf("\t\t%d (%d)\t: '%s'\r\n", a->number, a->real_number, a->rule); a = a->next; } } @@ -1480,7 +1496,7 @@ ShowCustomer(Context ctx, int ac, char *av[], void *ar if (a == NULL) a = acl_filters[k]; while (a) { - Printf("\t\t%d#%d\t'%s'\r\n", (k + 1), a->number, a->rule); + Printf("\t\t%d#%d\t: '%s'\r\n", (k + 1), a->number, a->rule); a = a->next; } } @@ -1488,7 +1504,7 @@ ShowCustomer(Context ctx, int ac, char *av[], void *ar for (k = 0; k < 2; k++) { a = b->params.acl_limits[k]; while (a) { - Printf("\t\t%s#%d%s%s\t'%s'\r\n", (k?"out":"in"), a->number, + Printf("\t\t%s#%d%s%s\t: '%s'\r\n", (k?"out":"in"), a->number, ((a->name[0])?"#":""), a->name, a->rule); a = a->next; }