once a machine has a domain, its then up to the user to connect as a priveledge user (root for eg) then create users and assign them priveledges
-on multi-machine domains, things get blah blah
\ No newline at end of file
+on multi-machine domains, things get blah blah
+
+ok, so what each user does:
+1) system@domain/super is responsible for naming. i.e. you can ask it what machines exist on that domain, what users and what groups, plus
+creation of them
+2) hostname@domain/system is responsible for managing the system. if you want to restart a daemon or change its config, messages
+go to that user.
+
+what im trying to sya here is that system will be responsible for managing users and assigning them to groups and so forth, but hostname@domain
+will be responsible for allowing access to resources based on the group or user of a person
+
+initial interaction will be via text via a good ol xmpp chat client...
+
+i.e. to system: list users, list groups, list computers
+
+i.e. to hostname: list services, restart service, etc.
+
+i.e. from hostname to user: log messages of importance (crash errors, filesystems filling up, things like that).
+
+i.e. from system to user: log messages of importance (creation/deleteion of users and stuff).
+
+lets start with that, and see where it takes us.
\ No newline at end of file
-tasdf
\ No newline at end of file
+
+How this system will come together
+==================================
+
+This system will work on a basis of connectors.
+
+Lets talk about a single system which will have the following things running on it:
+1) auth/pam
+2) group management
+3) management stuff for services.. i.e. webmin type thing
+
+so basically the system will startup and an xmpp daemon will start up with it. the daemon used should be able to be "anything". The following daemons will run:
+1) xmpp server
+2) auth interaction server (and cache) with a pam plugin.
+3) config management server
+
+ug.. its ugly, its ugly...
--- /dev/null
+<?php
+
+// the main config file everything will read
+$XMPP_SERVER="localhost";
+$XMPP_DOMAIN="localhost";
+$XMPP_SYSTEM_PASSWORD="password";
+$XMPP_HOSTNAME_PASSWORD="password";
+
+?>
\ No newline at end of file
--- /dev/null
+<?php
+
+// the main library that pulls everything together... are we going to do oo here? why am i asking this question while im coding?
+
+
+?>
\ No newline at end of file
--- /dev/null
+<?php
+
+// a plugin for handling samba config
+
+?>
\ No newline at end of file
<?php
+// sms will start up and do two things
+
+// first it will fork the host management server, which will connect to the xmpp server and talk to system.
+
+// if the xmpp server is localhots or the hostname of it, it'll also spawn the system user too
+
?>
\ No newline at end of file
--- /dev/null
+<?php
+
+// activate full error reporting
+//error_reporting(E_ALL & E_STRICT);
+
+include 'XMPPHP/XMPP.php';
+
+#Use XMPPHP_Log::LEVEL_VERBOSE to get more logging for error reports
+#If this doesn't work, are you running 64-bit PHP with < 5.2.6?
+$conn = new XMPPHP_XMPP('localhost', 5222, 'radon', 'password', 'xmpphp', 'localhost', $printlog=true, $loglevel=XMPPHP_Log::LEVEL_INFO);
+$conn->autoSubscribe();
+
+try {
+ $conn->connect();
+ while(!$conn->isDisconnected()) {
+ //$payloads = $conn->processUntil();
+ $payloads = $conn->processUntil(array('message', 'presence', 'end_stream', 'session_start', 'subscription_requested'));
+ print_r($payloads);
+ foreach($payloads as $event) {
+ $pl = $event[1];
+ switch($event[0]) {
+ case 'message':
+ print "---------------------------------------------------------------------------------\n";
+ print "Message from: {$pl['from']}\n";
+ if($pl['subject']) print "Subject: {$pl['subject']}\n";
+ print $pl['body'] . "\n";
+ print "---------------------------------------------------------------------------------\n";
+ $conn->message($pl['from'], $body="Thanks for sending me \"{$pl['body']}\".", $type=$pl['type']);
+ if($pl['body'] == 'quit') $conn->disconnect();
+ if($pl['body'] == 'break') $conn->send("</end>");
+ break;
+ case 'presence':
+ print "Presence: {$pl['from']} [{$pl['show']}] {$pl['status']}\n";
+ break;
+ case 'session_start':
+ print "Session Start\n";
+ $conn->getRoster();
+ $conn->presence($status="Cheese!");
+ break;
+ }
+ }
+ }
+} catch(XMPPHP_Exception $e) {
+ die($e->getMessage());
+}
+?>
\ No newline at end of file