aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorBjørn Mork <bjorn@mork.no>2015-05-15 10:23:51 +0200
committerBjørn Mork <bjorn@mork.no>2015-05-15 10:23:51 +0200
commit02013228914a1d17e8df15d4e2b7950469395a5c (patch)
tree48d2fbe2f5a5adb60cbeabc26fadaec8e0fa82ed /include
parent9b3dbb454e8f8a463d5fe4541ee2001585527bc6 (diff)
ripe-atlas-fw: imported version 45204520
Signed-off-by: Bjørn Mork <bjorn@mork.no>
Diffstat (limited to 'include')
-rw-r--r--include/applets.h15
-rw-r--r--include/cmdtable.h23
-rw-r--r--include/libbb.h27
-rw-r--r--include/usage.h172
4 files changed, 235 insertions, 2 deletions
diff --git a/include/applets.h b/include/applets.h
index 0e4cbd5..eb1495e 100644
--- a/include/applets.h
+++ b/include/applets.h
@@ -95,6 +95,7 @@ USE_CHGRP(APPLET_NOEXEC(chgrp, chgrp, _BB_DIR_BIN, _BB_SUID_NEVER, chgrp))
USE_CHMOD(APPLET_NOEXEC(chmod, chmod, _BB_DIR_BIN, _BB_SUID_NEVER, chmod))
USE_CHOWN(APPLET_NOEXEC(chown, chown, _BB_DIR_BIN, _BB_SUID_NEVER, chown))
USE_CHPASSWD(APPLET(chpasswd, _BB_DIR_USR_SBIN, _BB_SUID_NEVER))
+USE_CHPASSWD(APPLET(chpasswd, _BB_DIR_BIN, _BB_SUID_NEVER))
USE_CHPST(APPLET(chpst, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
USE_CHROOT(APPLET(chroot, _BB_DIR_USR_SBIN, _BB_SUID_NEVER))
USE_CHRT(APPLET(chrt, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
@@ -103,6 +104,7 @@ USE_CKSUM(APPLET(cksum, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
USE_CLEAR(APPLET(clear, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
USE_CMP(APPLET(cmp, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
USE_COMM(APPLET(comm, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
+USE_CONDMV(APPLET_NOEXEC(condmv, condmv, _BB_DIR_BIN, _BB_SUID_NEVER, condmv))
USE_CP(APPLET_NOEXEC(cp, cp, _BB_DIR_BIN, _BB_SUID_NEVER, cp))
USE_CPIO(APPLET(cpio, _BB_DIR_BIN, _BB_SUID_NEVER))
USE_CROND(APPLET(crond, _BB_DIR_USR_SBIN, _BB_SUID_NEVER))
@@ -121,6 +123,7 @@ USE_MODPROBE_SMALL(APPLET_ODDNAME(depmod, modprobe, _BB_DIR_SBIN, _BB_SUID_NEVER
USE_DEVFSD(APPLET(devfsd, _BB_DIR_SBIN, _BB_SUID_NEVER))
USE_DEVMEM(APPLET(devmem, _BB_DIR_SBIN, _BB_SUID_NEVER))
USE_DF(APPLET(df, _BB_DIR_BIN, _BB_SUID_NEVER))
+USE_DFRM(APPLET(dfrm, _BB_DIR_BIN, _BB_SUID_NEVER))
USE_APP_DHCPRELAY(APPLET(dhcprelay, _BB_DIR_USR_SBIN, _BB_SUID_NEVER))
USE_DIFF(APPLET(diff, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
USE_DIRNAME(APPLET_NOFORK(dirname, dirname, _BB_DIR_USR_BIN, _BB_SUID_NEVER, dirname))
@@ -141,7 +144,13 @@ USE_EJECT(APPLET(eject, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
USE_ENV(APPLET_NOEXEC(env, env, _BB_DIR_USR_BIN, _BB_SUID_NEVER, env))
USE_ENVDIR(APPLET_ODDNAME(envdir, chpst, _BB_DIR_USR_BIN, _BB_SUID_NEVER, envdir))
USE_ENVUIDGID(APPLET_ODDNAME(envuidgid, chpst, _BB_DIR_USR_BIN, _BB_SUID_NEVER, envuidgid))
+USE_EOOQD(APPLET(eooqd, _BB_DIR_USR_SBIN, _BB_SUID_NEVER))
+USE_EPERD(APPLET(eperd, _BB_DIR_USR_SBIN, _BB_SUID_NEVER))
USE_ETHER_WAKE(APPLET_ODDNAME(ether-wake, ether_wake, _BB_DIR_USR_BIN, _BB_SUID_NEVER, ether_wake))
+USE_EVHTTPGET(APPLET(evhttpget, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
+USE_EVPING(APPLET(evping, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
+USE_EVTDIG(APPLET(evtdig, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
+USE_EVTRACEROUTE(APPLET(evtraceroute, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
USE_EXPAND(APPLET(expand, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
USE_EXPR(APPLET(expr, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
USE_FAKEIDENTD(APPLET(fakeidentd, _BB_DIR_USR_SBIN, _BB_SUID_NEVER))
@@ -179,6 +188,8 @@ USE_HEXDUMP(APPLET_NOEXEC(hexdump, hexdump, _BB_DIR_USR_BIN, _BB_SUID_NEVER, hex
USE_HOSTID(APPLET_NOFORK(hostid, hostid, _BB_DIR_USR_BIN, _BB_SUID_NEVER, hostid))
USE_HOSTNAME(APPLET(hostname, _BB_DIR_BIN, _BB_SUID_NEVER))
USE_HTTPD(APPLET(httpd, _BB_DIR_USR_SBIN, _BB_SUID_NEVER))
+USE_HTTPGET(APPLET_NOFORK(httpget, httpget, _BB_DIR_BIN, _BB_SUID_NEVER, httpget))
+USE_HTTPPOST(APPLET_NOFORK(httppost, httppost, _BB_DIR_BIN, _BB_SUID_NEVER, httppost))
USE_HUSH(APPLET(hush, _BB_DIR_BIN, _BB_SUID_NEVER))
USE_HWCLOCK(APPLET(hwclock, _BB_DIR_SBIN, _BB_SUID_NEVER))
USE_ID(APPLET(id, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
@@ -273,6 +284,7 @@ USE_OPENVT(APPLET(openvt, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
//USE_PARSE(APPLET(parse, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
USE_PASSWD(APPLET(passwd, _BB_DIR_USR_BIN, _BB_SUID_ALWAYS))
USE_PATCH(APPLET(patch, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
+USE_PERD(APPLET(perd, _BB_DIR_USR_SBIN, _BB_SUID_NEVER))
USE_PGREP(APPLET(pgrep, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
USE_PIDOF(APPLET(pidof, _BB_DIR_BIN, _BB_SUID_NEVER))
USE_PING(APPLET(ping, _BB_DIR_BIN, _BB_SUID_MAYBE))
@@ -306,6 +318,7 @@ USE_RMMOD(APPLET(rmmod, _BB_DIR_SBIN, _BB_SUID_NEVER))
USE_MODPROBE_SMALL(APPLET_ODDNAME(rmmod, modprobe, _BB_DIR_SBIN, _BB_SUID_NEVER, modprobe))
USE_ROUTE(APPLET(route, _BB_DIR_SBIN, _BB_SUID_NEVER))
USE_RPM(APPLET(rpm, _BB_DIR_BIN, _BB_SUID_NEVER))
+USE_RPTRA6(APPLET(rptra6, _BB_DIR_BIN, _BB_SUID_NEVER))
USE_RPM2CPIO(APPLET(rpm2cpio, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
USE_RTCWAKE(APPLET(rtcwake, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
USE_RUN_PARTS(APPLET_ODDNAME(run-parts, run_parts, _BB_DIR_BIN, _BB_SUID_NEVER, run_parts))
@@ -314,6 +327,7 @@ USE_RUNLEVEL(APPLET(runlevel, _BB_DIR_SBIN, _BB_SUID_NEVER))
USE_RUNSV(APPLET(runsv, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
USE_RUNSVDIR(APPLET(runsvdir, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
USE_RX(APPLET(rx, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
+USE_RXTXRPT(APPLET(rxtxrpt, _BB_DIR_BIN, _BB_SUID_NEVER))
USE_SCRIPT(APPLET(script, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
USE_SED(APPLET(sed, _BB_DIR_BIN, _BB_SUID_NEVER))
USE_SELINUXENABLED(APPLET(selinuxenabled, _BB_DIR_USR_SBIN, _BB_SUID_NEVER))
@@ -340,6 +354,7 @@ USE_SLEEP(APPLET_NOFORK(sleep, sleep, _BB_DIR_BIN, _BB_SUID_NEVER, sleep))
USE_SOFTLIMIT(APPLET_ODDNAME(softlimit, chpst, _BB_DIR_USR_BIN, _BB_SUID_NEVER, softlimit))
USE_SORT(APPLET_NOEXEC(sort, sort, _BB_DIR_USR_BIN, _BB_SUID_NEVER, sort))
USE_SPLIT(APPLET(split, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
+USE_SSLGETCERT(APPLET(sslgetcert, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
USE_START_STOP_DAEMON(APPLET_ODDNAME(start-stop-daemon, start_stop_daemon, _BB_DIR_SBIN, _BB_SUID_NEVER, start_stop_daemon))
USE_STAT(APPLET(stat, _BB_DIR_BIN, _BB_SUID_NEVER))
USE_STRINGS(APPLET(strings, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
diff --git a/include/cmdtable.h b/include/cmdtable.h
new file mode 100644
index 0000000..b50d12e
--- /dev/null
+++ b/include/cmdtable.h
@@ -0,0 +1,23 @@
+/*
+cmdtable.h
+
+Commands for perd and ooqd
+*/
+
+int condmv_main(int argc, char *argv[]);
+int httpget_main(int argc, char *argv[]);
+int httppost_main(int argc, char *argv[]);
+int sslgetcert_main(int argc, char *argv[]);
+
+static struct builtin
+{
+ const char *cmd;
+ int (*func)(int argc, char *argv[]);
+} builtin_cmds[]=
+{
+ { "condmv", condmv_main },
+ { "httppost", httppost_main },
+ { "sslgetcert", sslgetcert_main },
+ { NULL, 0 }
+};
+
diff --git a/include/libbb.h b/include/libbb.h
index 08fed90..1231b31 100644
--- a/include/libbb.h
+++ b/include/libbb.h
@@ -302,6 +302,17 @@ extern char *bb_get_last_path_component_strip(char *path) FAST_FUNC;
/* "abc/def/" -> "" and it never modifies 'path' */
extern char *bb_get_last_path_component_nostrip(const char *path) FAST_FUNC;
+/* What's the best place for this? */
+#define ATLAS_HOME "/home/atlas"
+#define ATLAS_CRONS ATLAS_HOME "/crons"
+#define ATLAS_STATUS ATLAS_HOME "/status"
+#define ATLAS_DATA_OUT ATLAS_HOME "/data/out"
+#define ATLAS_DATA_OOQ_OUT ATLAS_HOME "/data/ooq.out"
+#define ATLAS_DATA_NEW ATLAS_HOME "/data/new"
+#define ATLAS_TIMESYNC_FILE ATLAS_STATUS "/timesync.vol"
+
+extern int validate_filename(const char *path, const char *prefix);
+
int ndelay_on(int fd) FAST_FUNC;
int ndelay_off(int fd) FAST_FUNC;
int close_on_exec_on(int fd) FAST_FUNC;
@@ -319,6 +330,10 @@ char *xrealloc_getcwd_or_warn(char *cwd) FAST_FUNC;
char *xmalloc_follow_symlinks(const char *path) FAST_FUNC;
+extern size_t strlcat(char *__restrict dst, const char *__restrict src,
+ size_t n) __THROW __nonnull ((1, 2));
+extern size_t strlcpy(char *__restrict dst, const char *__restrict src,
+ size_t n) __THROW __nonnull ((1, 2));
enum {
/* bb_signals(BB_FATAL_SIGS, handler) catches all signals which
@@ -422,13 +437,20 @@ struct BUG_too_small {
) <= 127 ? 1 : -1];
};
-
int xsocket(int domain, int type, int protocol) FAST_FUNC;
void xbind(int sockfd, struct sockaddr *my_addr, socklen_t addrlen) FAST_FUNC;
+void xrbind(int sockfd, struct sockaddr *my_addr, socklen_t addrlen,
+ void (*reportf)(int err)) FAST_FUNC;
void xlisten(int s, int backlog) FAST_FUNC;
void xconnect(int s, const struct sockaddr *s_addr, socklen_t addrlen) FAST_FUNC;
+void xrconnect(int s, const struct sockaddr *s_addr, socklen_t addrlen,
+ void (*reportf)(int err)) FAST_FUNC;
ssize_t xsendto(int s, const void *buf, size_t len, const struct sockaddr *to,
socklen_t tolen) FAST_FUNC;
+ssize_t xrsendto(int s, const void *buf, size_t len, const struct sockaddr *to,
+ socklen_t tolen, void (*reportf)(int err)) FAST_FUNC;
+ssize_t rsendto(int s, const void *buf, size_t len, const struct sockaddr *to,
+ socklen_t tolen, void (*reportf)(int err)) FAST_FUNC;
/* SO_REUSEADDR allows a server to rebind to an address that is already
* "in use" by old connections to e.g. previous server instance which is
* killed or crashed. Without it bind will fail until all such connections
@@ -526,6 +548,8 @@ struct hostent *xgethostbyname(const char *name) FAST_FUNC;
// Also mount.c and inetd.c are using gethostbyname(),
// + inet_common.c has additional IPv4-only stuff
+len_and_sockaddr* get_sock_lsa(int fd) FAST_FUNC;
+
void socket_want_pktinfo(int fd) FAST_FUNC;
ssize_t send_to_from(int fd, void *buf, size_t len, int flags,
@@ -1302,6 +1326,7 @@ procps_status_t* procps_scan(procps_status_t* sp, int flags) FAST_FUNC;
/* Puts [comm] if cmdline is empty (-> process is a kernel thread) */
void read_cmdline(char *buf, int col, unsigned pid, const char *comm) FAST_FUNC;
pid_t *find_pid_by_name(const char* procName) FAST_FUNC;
+int comm_match(procps_status_t *p, const char *procName);
pid_t *pidlist_reverse(pid_t *pidList) FAST_FUNC;
diff --git a/include/usage.h b/include/usage.h
index 63aff31..2fd5953 100644
--- a/include/usage.h
+++ b/include/usage.h
@@ -470,6 +470,14 @@
"\n -2 Suppress lines unique to FILE2" \
"\n -3 Suppress lines common to both files" \
+#define condmv_trivial_usage \
+ "[-A <string to append>][-f] FILE1 FILE2"
+#define condmv_full_usage "\n\n" \
+ "Rename FILE1 to FILE2 if FILE2 does not exist\n" \
+ "\nOptions:" \
+ "\n -A <string> Append <string> before renaming FILE1" \
+ "\n -f Force. Move even if FILE2 does exist" \
+
#define bbconfig_trivial_usage \
""
#define bbconfig_full_usage "\n\n" \
@@ -602,6 +610,7 @@
"\n -d TIME Display TIME, not 'now'" \
"\n -r FILE Display last modification time of FILE" \
"\n [-s] TIME Set time to TIME" \
+ "\n -S Interpret TIME as Unix seconds since epoch" \
USE_FEATURE_DATE_ISOFMT( \
"\n -D FMT Use FMT for str->date conversion" \
) \
@@ -749,6 +758,12 @@
"Filesystem 512-blocks Used Available Capacity Mounted on\n" \
"/dev/sda3 17381728 17107080 274648 98% /\n"
+#define dfrm_trivial_usage \
+ "<fs> <min-size> <dir>..."
+
+#define dfrm_full_usage \
+ "<fs> <min-size> <dir>..."
+
#define dhcprelay_trivial_usage \
"[client1,client2,...] [server_device]"
#define dhcprelay_full_usage "\n\n" \
@@ -965,6 +980,37 @@
"\n -, -i Start with an empty environment" \
"\n -u Remove variable from the environment" \
+#define eooqd_trivial_usage \
+ "<queue-file>"
+#define eooqd_full_usage \
+
+#define eperd_trivial_usage \
+ "-fbSAD -P pidfile -l N " USE_FEATURE_CROND_D("-d N ") "-L LOGFILE -c DIR"
+#define eperd_full_usage "\n\n" \
+ " -f Foreground" \
+ "\n -b Background (default)" \
+ "\n -S Log to syslog (default)" \
+ "\n -l Set log level. 0 is the most verbose, default 8" \
+ USE_FEATURE_CROND_D( \
+ "\n -d Set log level, log to stderr" \
+ ) \
+ "\n -L Log to file" \
+ "\n -c Working dir" \
+ "\n -A Atlas specific processing" \
+ "\n -D Periodically kick watchdog" \
+ "\n -P pidfile to use" \
+
+#define evtdig_trivial_usage \
+ "[-h|-i|-b|-s] ... <server IP address>"
+#define evtdig_full_usage "\n\n" \
+ "evtdig: a tiny implemention dns queries which supports 4 queries\n" \
+ "\n not implemented: recursion" \
+ "\n -h | --hostname-bind hostname.bind txt chaos " \
+ "\n -i | id-server id.server txt chaos " \
+ "\n -b | version-bind version-bind txt chaos " \
+ "\n -s | soa <zone> to be implmented " \
+ "\n RIPE NCC 2011 " \
+
#define ether_wake_trivial_usage \
"[-b] [-i iface] [-p aa:bb:cc:dd[:ee:ff]] MAC"
#define ether_wake_full_usage "\n\n" \
@@ -976,6 +1022,44 @@
"\n -i iface Interface to use (default eth0)" \
"\n -p pass Append four or six byte password PW to the packet" \
+#define evhttpget_trivial_usage \
+ "[-ac0146] [--all [--combine]] [--get|--head|--post] [--post-file <file>] [--post-header <file>] [--post-footer <file>] [--store-headers <bytes>] [--user-agent <string>] [-A <atlas id>] [-O <file>]"
+#define evhttpget_full_usage "\n\n" \
+ "\nOptions:" \
+ "\n -a --all Report on all addresses" \
+ "\n -c --combine Combine the reports for all address in one JSON" \
+ "\n --get GET method" \
+ "\n --head HEAD method" \
+ "\n --post POST mehod" \
+ "\n --post-file <filename> File to post" \
+ "\n --post-header <fn> File to post (comes first)" \
+ "\n --post-footer <fn> File to post (comes last)" \
+ "\n --store-headers <bytes> Number of bytes of the header to store"\
+ "\n --user-agent <string> User agent header" \
+ "\n -0 HTTP/1.0" \
+ "\n -1 HTTP/1.1" \
+ "\n -A <atlas id> Atlas ID" \
+ "\n -O <filename> Output file" \
+ "\n -4 Only IPv4 addresses" \
+ "\n -6 Only IPv6 addresses" \
+
+#define evping_trivial_usage \
+ "todo"
+#define evping_full_usage "\n\n" \
+ "\nOptions:" \
+ "\n -c <count> Number of packets" \
+ "\n -s <size> Size" \
+ "\n -A <id> Atlas measurement ID" \
+ "\n -O <out file> Output file name" \
+ "\n -4 IPv4" \
+ "\n -6 IPv6" \
+ "todo"
+
+#define evtraceroute_trivial_usage \
+ "todo"
+#define evtraceroute_full_usage "\n\n" \
+ "todo"
+
#define expand_trivial_usage \
"[-i] [-t NUM] [FILE|-]"
#define expand_full_usage "\n\n" \
@@ -1577,6 +1661,55 @@
"\n -e STRING HTML encode STRING" \
"\n -d STRING URL decode STRING" \
+#define httpget_trivial_usage \
+ "[--append] [--delete-file] [--get|--head|--post] " \
+ "[--post-file FILE] [--post-dir DIR] " \
+ "[--post-header FILE] " \
+ "[--post-footer FILE] [--set-time bound] " \
+ "[--store-headers SIZE] [--store-body SIZE] [--summary] " \
+ "[--user-agent STRING] [-0|-1] [-4|-6] [-A STRING] [-O FILE] URL"
+#define httpget_full_usage "\n\n" \
+"Interact with a HTTP server using GET/HEAD/POST commands\n" \
+"\nOptions:" \
+"\n --append Append data to output file" \
+"\n --defile-file Delete files after they have been posted" \
+"\n --get HTTP GET command (default)" \
+"\n --head HTTP HEAD command" \
+"\n --post HTTP POST command" \
+"\n --post-file FILE Post this file" \
+"\n --post-dir DIR Post all files in this directory" \
+"\n --post-header FILE First post this file and do not delete it" \
+"\n --post-footer FILE Post this file last and do not delete it" \
+"\n --set-time bound Parse the time in the HTTP reply and set the" \
+"\n system time if it exceeds bound (in seconds)" \
+"\n --store-headers SIZE Write this amount of headers to the output" \
+"\n --store-body SIZE Write this amount of body to the output" \
+"\n --summary Write the summary output" \
+"\n --user-agent STRING Set the user-agent header to STRING" \
+"\n -0 Send the request using http/1.0" \
+"\n -1 Send the request using http/1.1 (default)" \
+"\n -4 Connect only over IPv4" \
+"\n -6 Connect only over IPv6" \
+"\n -A STRING Format the output for Atlas using STRING" \
+"\n -O FILE Write the body of the HTTP reply to FILE"
+
+#define httppost_trivial_usage \
+ "[--delete-file] [--post-file FILE] [--post-dir DIR] " \
+ "[--post-header FILE] " \
+ "[--post-footer FILE] [--set-time bound] " \
+ "[-O FILE] URL"
+#define httppost_full_usage "\n\n" \
+"Post file using the HTTP POST command\n" \
+"\nOptions:" \
+"\n --defile-file Delete files after they have been posted" \
+"\n --post-file FILE Post this file" \
+"\n --post-dir DIR Post all files in this directory" \
+"\n --post-header FILE First post this file and do not delete it" \
+"\n --post-footer FILE Post this file last and do not delete it" \
+"\n --set-time bound Parse the time in the HTTP reply and set the" \
+"\n system time if it exceeds bound (in seconds)" \
+"\n -O FILE Write the body of the HTTP reply to FILE"
+
#define hwclock_trivial_usage \
USE_FEATURE_HWCLOCK_LONG_OPTIONS( \
"[-r|--show] [-s|--hctosys] [-w|--systohc]" \
@@ -2983,6 +3116,23 @@
"$ patch -p1 < example.diff\n" \
"$ patch -p0 -i example.diff"
+#define perd_trivial_usage \
+ "-fbSAD -P pidfile -l N " USE_FEATURE_CROND_D("-d N ") "-L LOGFILE -c DIR"
+#define perd_full_usage "\n\n" \
+ " -f Foreground" \
+ "\n -b Background (default)" \
+ "\n -S Log to syslog (default)" \
+ "\n -l Set log level. 0 is the most verbose, default 8" \
+ USE_FEATURE_CROND_D( \
+ "\n -d Set log level, log to stderr" \
+ ) \
+ "\n -L Log to file" \
+ "\n -c Working dir" \
+ "\n -A Atlas specific processing" \
+ "\n -D Periodically kick watchdog" \
+ "\n -P pidfile to use" \
+
+
#define pgrep_trivial_usage \
"[-flnovx] pattern"
#define pgrep_full_usage "\n\n" \
@@ -3394,6 +3544,10 @@
#define rpm2cpio_full_usage "\n\n" \
"Output a cpio archive of the rpm file"
+#define rptra6_trivial_usage \
+
+#define rptra6_full_usage "\n\n" \
+
#define rtcwake_trivial_usage \
"[-a | -l | -u] [-d DEV] [-m MODE] [-s SECS | -t TIME]"
#define rtcwake_full_usage "\n\n" \
@@ -3493,6 +3647,13 @@
#define rx_example_usage \
"$ rx /tmp/foo\n"
+#define rxtxrpt_trivial_usage \
+ "[-A STRING] [ipv6-info-cache]"
+
+#define rxtxrpt_full_usage "\n\n" \
+ "Display RX and TX statistics as well as IPv6 info\n" \
+ "\n -A STRING Use Atlas format with STRING" \
+
#define script_trivial_usage \
"[-afq] [-c COMMAND] [OUTFILE]"
#define script_full_usage "\n\n" \
@@ -3768,6 +3929,15 @@
"$ split TODO foo\n" \
"$ cat TODO | split -a 2 -l 2 TODO_\n"
+#define sslgetcert_trivial_usage \
+ "-[46] [-A <id>] [-p <port>] <hostname>"
+#define sslgetcert_full_usage "\n\n" \
+ "\nOptions:" \
+ "\n -A <id> Atlas measurement ID" \
+ "\n -p <port> Port (default https)" \
+ "\n -4 IPv4" \
+ "\n -6 IPv6" \
+
#define start_stop_daemon_trivial_usage \
"[OPTIONS] [-S|-K] ... [-- arguments...]"
#define start_stop_daemon_full_usage "\n\n" \
@@ -4322,7 +4492,7 @@
"hello world\n"
#define traceroute_trivial_usage \
- "[-FIldnrv] [-f 1st_ttl] [-m max_ttl] [-p port#] [-q nqueries]\n" \
+ "[-FIldnrv46] [-f 1st_ttl] [-m max_ttl] [-p port#] [-q nqueries]\n" \
" [-s src_addr] [-t tos] [-w wait] [-g gateway] [-i iface]\n" \
" [-z pausemsecs] HOST [data size]"
#define traceroute_full_usage "\n\n" \