various stuff... initial coding mostly
authorpaulr <me@pjr.cc>
Sat, 19 Jun 2010 00:46:37 +0000 (10:46 +1000)
committerpaulr <me@pjr.cc>
Sat, 19 Jun 2010 00:46:37 +0000 (10:46 +1000)
design/beginnings
design/system interaction
etc/config.php [new file with mode: 0644]
lib/lib.php [new file with mode: 0644]
plugins/samba.php [new file with mode: 0644]
sms/sms.php
test/test.php [new file with mode: 0644]

index 522c2d3..56497c9 100644 (file)
@@ -17,4 +17,25 @@ there will also be a user created called root@domain which will be how people "j
 
 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
index 4b883c0..1309fb2 100644 (file)
@@ -1 +1,17 @@
-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...
diff --git a/etc/config.php b/etc/config.php
new file mode 100644 (file)
index 0000000..8652167
--- /dev/null
@@ -0,0 +1,9 @@
+<?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
diff --git a/lib/lib.php b/lib/lib.php
new file mode 100644 (file)
index 0000000..cdd96b9
--- /dev/null
@@ -0,0 +1,6 @@
+<?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
diff --git a/plugins/samba.php b/plugins/samba.php
new file mode 100644 (file)
index 0000000..21bfd01
--- /dev/null
@@ -0,0 +1,5 @@
+<?php
+
+// a plugin for handling samba config
+
+?>
\ No newline at end of file
index 15c5adc..4ac0d58 100644 (file)
@@ -1,3 +1,9 @@
 <?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
diff --git a/test/test.php b/test/test.php
new file mode 100644 (file)
index 0000000..e412c39
--- /dev/null
@@ -0,0 +1,46 @@
+<?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