summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cifs.idmap.8.in7
-rw-r--r--cifs.idmap.c10
2 files changed, 14 insertions, 3 deletions
diff --git a/cifs.idmap.8.in b/cifs.idmap.8.in
index 152046b..c022402 100644
--- a/cifs.idmap.8.in
+++ b/cifs.idmap.8.in
@@ -22,7 +22,7 @@
cifs.idmap \- Userspace helper for mapping ids for Common Internet File System (CIFS)
.SH "SYNOPSIS"
.HP \w'\ 'u
-cifs.idmap [--timeout|-t] [--version|-v] {keyid}
+cifs.idmap [--help|-h] [--timeout|-t] [--version|-v] {keyid}
.SH "DESCRIPTION"
.PP
This tool is part of the cifs-utils suite\&.
@@ -46,6 +46,11 @@ cifs\&.idmap works in conjuction with winbind facility of Samba suite to map own
In case winbind and cifs.idmap facilities are unavailable, file objects in a mounted share are assigned uid and gid of the credentials of the process that mounted the share\&. So it is strongly recomemended to use mount options of uid and gid to specify a default uid and gid to map owner SIDs and group SIDs respectively in case services of winbind and cifs.idmap facility are unavailable\&.
.SH "OPTIONS"
.PP
+--help|-h
+.RS
+Print the usage message and exit.
+.RE
+.PP
--timeout|-t
.RS 4
Set the expiration timer, in seconds on the key. The default is 600 seconds (10 minutes). Setting this to 0 will cause the key to never expire.
diff --git a/cifs.idmap.c b/cifs.idmap.c
index e507035..d2ccbb1 100644
--- a/cifs.idmap.c
+++ b/cifs.idmap.c
@@ -45,6 +45,7 @@
static const char *prog = "cifs.idmap";
static const struct option long_options[] = {
+ {"help", 0, NULL, 'h'},
{"timeout", 1, NULL, 't'},
{"version", 0, NULL, 'v'},
{NULL, 0, NULL, 0}
@@ -52,7 +53,7 @@ static const struct option long_options[] = {
static void usage(void)
{
- fprintf(stderr, "Usage: %s key_serial\n", prog);
+ fprintf(stderr, "Usage: %s [-h] [-v] [-t timeout] key_serial\n", prog);
}
char *strget(const char *str, const char *substr)
@@ -224,8 +225,13 @@ int main(const int argc, char *const argv[])
openlog(prog, 0, LOG_DAEMON);
- while ((c = getopt_long(argc, argv, "t:v", long_options, NULL)) != -1) {
+ while ((c = getopt_long(argc, argv, "ht:v",
+ long_options, NULL)) != -1) {
switch (c) {
+ case 'h':
+ rc = 0;
+ usage();
+ goto out;
case 't':
rc = str_to_uint(optarg, &timeout);
if (rc) {