Contents of /mcore-src/trunk/mcore-tools/src/mcored.in
Parent Directory | Revision Log
Revision 2478 -
(show annotations)
(download)
Thu Sep 10 08:32:31 2015 UTC (8 years, 7 months ago) by niro
File size: 2443 byte(s)
Thu Sep 10 08:32:31 2015 UTC (8 years, 7 months ago) by niro
File size: 2443 byte(s)
-removed unused cruft
1 | #!/bin/bash |
2 | |
3 | MCORE_LIBDIR="@@MCORE_LIBDIR@@" |
4 | |
5 | # respect system env (proxy settings etc) |
6 | if [ -e @@SYSCONFDIR@@/profile ] |
7 | then |
8 | source @@SYSCONFDIR@@/profile |
9 | fi |
10 | |
11 | # globals |
12 | # include function comes with common.global class |
13 | source ${MCORE_LIBDIR}/include/common.global.class |
14 | include ${MCORE_LIBDIR}/include/daemon.global.class |
15 | include ${MCORE_LIBDIR}/include/sessionauth.global.class |
16 | include ${MCORE_LIBDIR}/include/register.global.class |
17 | include ${MCORE_LIBDIR}/include/hwdetection.global.class |
18 | |
19 | # load client classes plugins |
20 | load_classes client |
21 | |
22 | # config settings |
23 | include @@SYSCONFDIR@@/mcore/mcore.conf |
24 | |
25 | DEBUG=1 |
26 | NOCOLORS="false" |
27 | WEBCRLF="false" |
28 | QUIET="false" |
29 | |
30 | # argvs are global variables - this fixes issues with whitespaces |
31 | # global argvs, the whole command line |
32 | export GLOBAL_ARGV |
33 | # class specific argvs which are given to the class as parameters |
34 | export CLASS_ARGV |
35 | |
36 | run=run |
37 | valid_session=no |
38 | |
39 | # tell what we are |
40 | echo "Connected to $(print_version)" |
41 | |
42 | while [[ ${run} = run ]] |
43 | do |
44 | # use an echo here not read -p '>' because sslsvd ignores the prompt pattern |
45 | echo -n '> ' |
46 | read line |
47 | eval "GLOBAL_ARGV=( ${line} )" |
48 | |
49 | case ${GLOBAL_ARGV[0]} in |
50 | quit) run=quit ;; |
51 | |
52 | # only react on the globals -> import|get|set|auth |
53 | import) run_class ;; |
54 | get) run_class ;; |
55 | set) run_class ;; |
56 | auth) validate_auth ${GLOBAL_ARGV[*]:1} ;; |
57 | certauth) validate_auth_certificate ${GLOBAL_ARGV[*]:1} ;; |
58 | register) valid_session && register_client_local ${GLOBAL_ARGV[*]:1} ;; |
59 | provide) valid_session && print_provide ;; |
60 | require) valid_session && verify_requirements ;; |
61 | reload) valid_session && mecho "reloading client classes ..." && load_classes client ;; |
62 | restart) valid_session && restart_service ;; |
63 | stop) valid_session && stop_service ;; |
64 | nocolors) export NOCOLORS="true" ;; |
65 | colors) export NOCOLORS="false" ;; |
66 | webcrlf) export WEBCRLF="true" ;; |
67 | quiet) export QUIET="true" ;; |
68 | # version does not need auth |
69 | version) print_version ;; |
70 | help) |
71 | if valid_session |
72 | then |
73 | if [[ ${line} = help ]] |
74 | then |
75 | help_topics |
76 | else |
77 | run_class ${line} |
78 | fi |
79 | else |
80 | mecho "You must authenticate yourself first!" |
81 | mecho " auth [username] [password]" |
82 | mecho "or" |
83 | mecho " certauth [certificate fingerprint]" |
84 | fi |
85 | ;; |
86 | |
87 | *) |
88 | mecho "Unknown command '${line}'" |
89 | mecho "Type 'help' for more information." |
90 | #echo "$line" >> /root/lala.log |
91 | ;; |
92 | esac |
93 | |
94 | # unset argvs to be safe |
95 | unset GLOBAL_ARGS |
96 | unset CLASS_ARGS |
97 | done |