base16-schemes: unstable-2024-06-21 -> unstable-2024-11-12 (#356361)
[NixPkgs.git] / pkgs / tools / security / eid-mw / eid-nssdb.in
blob636b4c1ee1185418215d33c2f490283d284927e5
1 #!@shell@
3 rootdb="/etc/pki/nssdb"
4 userdb="$HOME/.pki/nssdb"
5 dbentry="Belgium eID"
6 libfile="/run/current-system/sw/lib/libbeidpkcs11.so"
8 dbdir="$userdb"
10 while true; do
11         case "$1" in
12         --help|"")      cat << EOF
13 (Un)register $dbentry with NSS-compatible browsers.
15 Usage: `basename "$0"` [OPTION] ACTION [LIBRARY]
17 Options:
18   --db PATH     use custom NSS database directory PATH
19   --user        use user NSS database $userdb (default)
20   --system      use global NSS database $rootdb
21   --help        show this message
23 Actions:
24   add           add $dbentry to NSS database
25   remove        remove $dbentry from NSS database
26   show          show $dbentry NSS database entry
28 Default arguments if unspecified:
29   LIBRARY       $libfile
30 EOF
31                 exit ;;
32         --db)   dbdir="$2"
33                 shift 2 ;;
34         --user) dbdir="$userdb"
35                 shift ;;
36         --system)
37                 dbdir="$rootdb"
38                 shift ;;
39         -*)     echo "$0: unknown option: '$1'" >&2
40                 echo "Try --help for usage information."
41                 exit 1 ;;
42         *)      break ;;
43         esac
44 done
46 if [ "$2" ]; then
47         libfile="$2"
48         if ! [ -f "$libfile" ]; then
49                 echo "$0: error: '$libfile' not found" >&2
50                 exit 1
51         fi
54 mkdir -p "$dbdir"
55 if ! [ -d "$dbdir" ]; then
56         echo "$0: error: '$dbdir' must be a writable directory" >&2
57         exit 1
60 dbdir="sql:$dbdir"
62 echo "NSS database: $dbdir"
63 echo "BEID library: $libfile"
65 case "$1" in
66 add)    echo "Adding $dbentry to database:"
67         modutil -dbdir "$dbdir" -add "$dbentry" -libfile "$libfile" ||
68                 echo "Tip: try removing the module before adding it again." ;;
69 remove) echo "Removing $dbentry from database:"
70         modutil -dbdir "$dbdir" -delete "$dbentry" ;;
71 show)   echo "Displaying $dbentry database entry, if any:"
72         echo "Note: this may fail if you don't have the correct permissions." ;;
73 '')     exec "$0" --help ;;
74 *)      echo "$0: unknown action: '$1'" >&2
75         echo "Try --help for usage information."
76         exit 1 ;;
77 esac
79 ret=$?
81 modutil -dbdir "$dbdir" -list "$dbentry" 2>/dev/null
83 exit $ret