Magellan Linux

Contents of /mcore-src/trunk/mcore-tools/src/mcored.in

Parent Directory Parent Directory | Revision Log 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)
-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