diff options
Diffstat (limited to 'server')
| -rw-r--r-- | server/src/queryhandlerpentominos.cc | 217 | 
1 files changed, 0 insertions, 217 deletions
diff --git a/server/src/queryhandlerpentominos.cc b/server/src/queryhandlerpentominos.cc index 8000721..0b4aeb5 100644 --- a/server/src/queryhandlerpentominos.cc +++ b/server/src/queryhandlerpentominos.cc @@ -30,112 +30,6 @@  #include <config.h> -// For time -#include <time.h> - -#include <stdio.h> -#include <stdlib.h> -#include <string.h> - -// For getpid -#include <unistd.h> -#include <sys/types.h> - -// For time -#include <time.h> - -// For strerror and errno -#include <errno.h> - -// For socket and friends -#include <sys/socket.h> -#include <arpa/inet.h> -#include <net/if.h> -#include <netinet/in.h> - -// For ioctl -#include <sys/ioctl.h> - -#include "queryparser.h" - -typedef struct { -  in_addr_t ip; -  time_t time; -  pid_t pid; -  unsigned short int count; -} UID; - -#define SIOCGIFCONF 0x8912 // get iface list -/* -static in_addr_t getIP(const char *interface) -{ -  in_addr_t ret = 0; -  int numreqs = 30, sd, n; -  struct ifconf ifc; -  struct ifreq *ifr; -  struct in_addr *ia; - -  sd = socket(AF_INET, SOCK_STREAM, 0); -  if(sd == -1) { -    //    throw Pentominos::UIDCouldNotConnectException(strerror(errno)); -  } - -  ifc.ifc_buf = NULL; -  ifc.ifc_len = sizeof(struct ifreq) * numreqs; - -  ifc.ifc_buf = (char*)malloc(ifc.ifc_len); -  if(ifc.ifc_buf == NULL) { -    //    throw Pentominos::UIDOutOfMemoryException(); -  } - -  if (ioctl(sd, SIOCGIFCONF, &ifc) < 0) { -    //    throw Pentominos::UIDInterfaceListException(strerror(errno)); -  }  - -  ifr = ifc.ifc_req;  -  for (n = 0; n < ifc.ifc_len; n += sizeof(struct ifreq)) { -    ia = (struct in_addr *)((ifr->ifr_ifru.ifru_addr.sa_data)+2); -    if(!strcmp(ifr->ifr_ifrn.ifrn_name, interface)) { -      ret = *(in_addr_t*)ia; -    } -    ifr++;  -  } - -  if(!ret) { // Still no interface... We're fucked! -    //    throw Pentominos::UIDInterfaceException(interface); -  } - -  free(ifc.ifc_buf); -  return ret; -} - - -static unsigned short counter = 0; -static unsigned short getCounter() -{ -  return counter++; -} - - -static UID uid = {0,0,0,0}; -static std::string getUID(const char *interface) -{ -  if(!uid.ip) uid.ip = getIP(interface); - -  time_t t = time(NULL); -  if(uid.time != t) counter = 0; // If time differes, reset the counter -  uid.time = t; // We need this value every time. - -  if(!uid.pid) uid.pid = getpid(); - -  uid.count = getCounter(); - -  char buf[32]; -  sprintf(buf, "%08x%08x%04x%04x", uid.ip, (unsigned int)uid.time, uid.pid, uid.count); -  return std::string(buf); -} -*/ -  QueryHandlerPentominos::QueryHandlerPentominos(Artefact &atf,                                                 std::string patientid,                                                 std::string user) @@ -148,92 +42,6 @@ QueryHandlerPentominos::QueryHandlerPentominos(Artefact &atf,  QueryResult QueryHandlerPentominos::exec(Query &query)  {    return artefact.exec(query, patientid, user); - -#if 0 -  time_t timestamp = time(NULL); -  std::string uid = getUID("eth0"); - -  char buf[512]; -  char header[] = -    "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" -    "<artefact xmlns=\"http://www.aasimon.org/pentominos\"\n" -    "          xmlns:pentominos=\"http://www.aasimon.org/pentominos\"\n" -    "          xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n" -    "          xsi:schemaLocation=\"http://www.aasimon.org/pentominos schema.xsd\">\n"; -#ifndef WITHOUT_PENTOMINOS -  artefact.socket.write(header, strlen(header)); -#endif/*WITHOUT_PENTOMINOS*/ - -  DEBUG(queryhandler, "%s", header); - -  sprintf(buf, "  <pentominos:entry replyformat=\"xml\"\n" -          "                    cpr=\"%s\"\n" -          "                    operator=\"%s\"\n" -          "                    src_addr=\"%s\"\n" -          "                    dst_addr=\"%s\"\n" -          "                    timestamp=\"%d\"\n" -          "                    uid=\"%s\"/>\n", -          cpr.c_str(), -          "pracro", -#ifndef WITHOUT_PENTOMINOS -          artefact.socket.srcaddr().c_str(), -          artefact.socket.dstaddr().c_str(), -#else -          "127.0.0.1", -          "127.0.0.1", -#endif/*WITHOUT_PENTOMINOS*/ -          (unsigned int)timestamp, -          uid.c_str()); -#ifndef WITHOUT_PENTOMINOS -  artefact.socket.write(buf, strlen(buf)); -#endif/*WITHOUT_PENTOMINOS*/ - -  DEBUG(queryhandler, "%s", buf); - -  sprintf(buf, "  <pentominos:query device_id=\"%s\"\n" -          "                    device_type=\"%s\"\n" -          "                    filter=\"latest\"\n" -          "                    location=\"all\"/>\n", -          query.attributes["class"].c_str(), -          query.attributes["class"].c_str()); -   -#ifndef WITHOUT_PENTOMINOS -  artefact.socket.write(buf, strlen(buf)); -#endif/*WITHOUT_PENTOMINOS*/ - -  DEBUG(queryhandler, "%s", buf); - -  sprintf(buf, "</artefact>"); - -#ifndef WITHOUT_PENTOMINOS -  artefact.socket.write(buf, strlen(buf)); -#endif/*WITHOUT_PENTOMINOS*/ - -  DEBUG(queryhandler, "%s", buf); - -  QueryResult result; -   -#ifndef WITHOUT_PENTOMINOS -  QueryParser parser; - -  ssize_t size; - -  // Read until we've got the entire result. -  while((size = artefact.socket.read(buf, sizeof(buf))) > 0) { -    //    fwrite(buf, size, 1, stdout); fflush(stdout); -    if(parser.parse(buf, size)) break; -  } - -  result = parser.result; -#endif/*WITHOUT_PENTOMINOS*/ - -  INFO(queryhandler, "Done handling query\n"); - -  result.print(); - -  return result; -#endif -  return QueryResult();  }  #ifdef TEST_QUERYHANDLERPENTOMINOS @@ -249,31 +57,6 @@ TEST_BEGIN;  // TODO: Put some testcode here (see test.h for usable macros).  TEST_TRUE(false, "No tests yet!"); -#if 0 - -#ifdef WITHOUT_PENTOMINOS -  printf("The project need to be configured for use of Pentominos in order to run this test.\n"); -  return 1; -#endif/*WITHOUT_PENTOMINOS*/ - - TCPSocket s; -  try { -    s.connect("localhost", 11108); -  } catch(Exception &e) { -    printf("ERROR: %s\n", e.what()); -    printf("A running instance of the artefact server in needed on localhost, port 11108 in order for this test to run.\n"); -    return 1; -  } - -  QueryHandlerPentominos qh(s, "2003791613"); - -  Query q1; -  q1.attributes["device_id"] = "lensmeter"; -  q1.attributes["device_type"] = "lensmeter"; -  QueryResult res = qh.exec(q1); -  res.print(); -#endif -  TEST_END;  #endif/*TEST_QUERYHANDLERPENTOMINOS*/  | 
