diff options
author | Martin Willi <martin@revosec.ch> | 2011-05-04 11:21:33 +0200 |
---|---|---|
committer | Martin Willi <martin@revosec.ch> | 2011-05-16 15:24:14 +0200 |
commit | a694b481eed8ffbbbfde899dfdee54a394ec49d8 (patch) | |
tree | 16ffc1fcc9714e56a7e6adb1682d149845f27495 /src/stroke | |
parent | a2302d2322bea1e65079abede55e590035212d03 (diff) | |
download | strongswan-a694b481eed8ffbbbfde899dfdee54a394ec49d8.tar.bz2 strongswan-a694b481eed8ffbbbfde899dfdee54a394ec49d8.tar.xz |
Added a statusallnb stroke command to show status non-blocking
Diffstat (limited to 'src/stroke')
-rw-r--r-- | src/stroke/stroke.c | 14 | ||||
-rw-r--r-- | src/stroke/stroke_keywords.h | 1 | ||||
-rw-r--r-- | src/stroke/stroke_keywords.txt | 1 | ||||
-rw-r--r-- | src/stroke/stroke_msg.h | 2 |
4 files changed, 17 insertions, 1 deletions
diff --git a/src/stroke/stroke.c b/src/stroke/stroke.c index 6dbaf6464..7410f5cab 100644 --- a/src/stroke/stroke.c +++ b/src/stroke/stroke.c @@ -231,7 +231,18 @@ static int show_status(stroke_keyword_t kw, char *connection) { stroke_msg_t msg; - msg.type = (kw == STROKE_STATUS)? STR_STATUS:STR_STATUS_ALL; + switch (kw) + { + case STROKE_STATUSALL: + msg.type = STR_STATUS_ALL; + break; + case STROKE_STATUSALL_NOBLK: + msg.type = STR_STATUS_ALL_NOBLK; + break; + default: + msg.type = STR_STATUS; + break; + } msg.length = offsetof(stroke_msg_t, buffer); msg.status.name = push_string(&msg, connection); return send_stroke_msg(&msg); @@ -498,6 +509,7 @@ int main(int argc, char *argv[]) break; case STROKE_STATUS: case STROKE_STATUSALL: + case STROKE_STATUSALL_NOBLK: res = show_status(token->kw, argc > 2 ? argv[2] : NULL); break; case STROKE_LIST_PUBKEYS: diff --git a/src/stroke/stroke_keywords.h b/src/stroke/stroke_keywords.h index dd00dc24c..3e55ef8f2 100644 --- a/src/stroke/stroke_keywords.h +++ b/src/stroke/stroke_keywords.h @@ -29,6 +29,7 @@ typedef enum { STROKE_LOGLEVEL, STROKE_STATUS, STROKE_STATUSALL, + STROKE_STATUSALL_NOBLK, STROKE_LIST_PUBKEYS, STROKE_LIST_CERTS, STROKE_LIST_CACERTS, diff --git a/src/stroke/stroke_keywords.txt b/src/stroke/stroke_keywords.txt index f87b15769..78212c2b8 100644 --- a/src/stroke/stroke_keywords.txt +++ b/src/stroke/stroke_keywords.txt @@ -36,6 +36,7 @@ rekey, STROKE_REKEY loglevel, STROKE_LOGLEVEL status, STROKE_STATUS statusall, STROKE_STATUSALL +statusallnb, STROKE_STATUSALL_NOBLK listpubkeys, STROKE_LIST_PUBKEYS listcerts, STROKE_LIST_CERTS listcacerts, STROKE_LIST_CACERTS diff --git a/src/stroke/stroke_msg.h b/src/stroke/stroke_msg.h index 2fbacecf7..3c1221aee 100644 --- a/src/stroke/stroke_msg.h +++ b/src/stroke/stroke_msg.h @@ -194,6 +194,8 @@ struct stroke_msg_t { STR_STATUS, /* show verbose connection status */ STR_STATUS_ALL, + /* show verbose connection status, non-blocking variant */ + STR_STATUS_ALL_NOBLK, /* add a ca information record */ STR_ADD_CA, /* delete ca information record */ |