Merge remote-tracking branch 'origin/5.0' into bootmanager-vender
[bootmanager.git] / nodeconfig / boot / getnodeid.php
diff --git a/nodeconfig/boot/getnodeid.php b/nodeconfig/boot/getnodeid.php
new file mode 100755 (executable)
index 0000000..f160bdd
--- /dev/null
@@ -0,0 +1,28 @@
+<?php
+
+//
+// Returns node ID of requestor
+//
+// Mark Huang <mlhuang@cs.princeton.edu>
+// Copyright (C) 2006 The Trustees of Princeton University
+//
+
+// Get admin API handle
+require_once 'plc_api.php';
+global $adm;
+
+if (!empty($_REQUEST['mac_addr'])) {
+  $mac_lower = strtolower(trim($_REQUEST['mac_addr']));
+  $mac_upper = strtoupper(trim($_REQUEST['mac_addr']));
+  $interfaces = $adm->GetInterfaces(array('mac' => array($mac_lower, $mac_upper)));
+} else {
+  $interfaces = $adm->GetInterfaces(array('ip' => $_SERVER['REMOTE_ADDR']));
+}
+
+if (!empty($interfaces)) {
+  print $interfaces[0]['node_id'];
+} else {
+  print "-1";
+}
+
+?>