=================================================================== RCS file: /home/cvs/OpenXM/src/kan96xx/plugin/oxx.hh,v retrieving revision 1.1 retrieving revision 1.11 diff -u -p -r1.1 -r1.11 --- OpenXM/src/kan96xx/plugin/oxx.hh 1999/10/08 02:12:05 1.1 +++ OpenXM/src/kan96xx/plugin/oxx.hh 2004/09/17 11:11:59 1.11 @@ -1,10 +1,17 @@ +/*$OpenXM: OpenXM/src/kan96xx/plugin/oxx.hh,v 1.10 2004/09/17 08:46:10 takayama Exp $*/ else if (strcmp(key,"oxCreateClient") == 0) { - if (size != 4) errorKan1("%s\n","[(oxCreateClient) ip dataport controlport] extension client."); - rob = KoxCreateClient(getoa(obj,1),getoa(obj,2),getoa(obj,3)); + if (size < 4) errorKan1("%s\n","[(oxCreateClient) ip dataport controlport (optional pass)] extension client."); + if (SecureMode) errorKan1("%s\n","Security violation for oxCreateClient."); + if (size == 4) { + rob = KoxCreateClient(getoa(obj,1),getoa(obj,2),getoa(obj,3),NullObject); + }else if (size == 5) { + rob = KoxCreateClient(getoa(obj,1),getoa(obj,2),getoa(obj,3),getoa(obj,4)); + } } else if (strcmp(key,"oxCreateClientFile") == 0) { if (size != 3) errorKan1("%s\n","[(oxCreateClientFile) fname mode] extension client."); - rob = KoxCreateClient(getoa(obj,1),getoa(obj,2),getoa(obj,2)); + if (SecureMode) errorKan1("%s\n","Security violation for oxCreateClientFile."); + rob = KoxCreateClient(getoa(obj,1),getoa(obj,2),getoa(obj,2),NullObject); /* dummy */ } else if (strcmp(key,"oxReq") == 0) { @@ -38,9 +45,21 @@ else if (strcmp(key,"oxMultiSelect") == 0) { rob = KoxMultiSelect(getoa(obj,1),getoa(obj,2)); } else if (strcmp(key,"oxWatch") == 0) { - if (size != 2) errorKan1("%s\n","[(oxWatch) client] extension obj"); - rob = KoxWatch(getoa(obj,1),rob); /* rob is dummy for now. */ + if (size > 2) errorKan1("%s\n","[(oxWatch) client] extension obj"); + if (size == 2) { + rob = KoxWatch(getoa(obj,1),rob); /* rob is dummy for now. */ + }else { + rob = KoxWatch(KpoInteger(1),rob); + } } +else if (strcmp(key,"oxLog") == 0) { + if (size != 4) errorKan1("%s\n","[(oxLog) client file_in file_out] extension obj"); + rob = KoxLog(getoa(obj,1),getoa(obj,2),getoa(obj,3)); +} +else if (strcmp(key,"oxLogStop") == 0) { + if (size != 2) errorKan1("%s\n","[(oxLogStop) client] extension obj "); + rob = KoxLogStop(getoa(obj,1)); +} else if (strcmp(key,"oxCloseClient") == 0) { if (size != 2) errorKan1("%s\n","[(oxCloseClient) client] extension obj"); rob = KoxCloseClient(getoa(obj,1)); @@ -63,10 +82,17 @@ else if (strcmp(key,"oxGenPass") == 0) { } else if (strcmp(key,"oxGetPort") == 0) { if (size != 2) errorKan1("%s\n","[(oxGetPort) host] extension obj"); + if (SecureMode) errorKan1("%s\n","Security violation for oxGetPort."); rob = KoxGetPort(getoa(obj,1)); } +else if (strcmp(key,"oxGetPort1") == 0) { + if (size != 2) errorKan1("%s\n","[(oxGetPort1) host] extension obj"); + if (SecureMode) errorKan1("%s\n","Security violation for oxGetPort."); + rob = KoxGetPort1(getoa(obj,1)); +} else if (strcmp(key,"oxCreateClient2") == 0) { if (size != 4) errorKan1("%s\n","[(oxCreateClient2) peer ipmask pass] extension client."); + if (SecureMode) errorKan1("%s\n","Security violation for oxCreateClient2."); rob = KoxCreateClient2(getoa(obj,1),getoa(obj,2),getoa(obj,3)); } else if (strcmp(key,"oxPrintMessage") == 0) { @@ -93,5 +119,36 @@ else if (strcmp(key,"oxPrintMessage") == 0) { rob = KpoInteger(OXprintMessage); } } - +else if (strcmp(key,"oxPushCMD") == 0) { + if (size == 3) { + lockCtrlCForOx(); + rob = KoxPushCMD(getoa(obj,1),getoa(obj,2)); + unlockCtrlCForOx(); + }else { + errorKan1("%s\n","[(oxPushCMD) client SM_id] extension result."); + } +} +else if (strcmp(key,"oxPushCMO") == 0) { + if (size == 3) { + lockCtrlCForOx(); + rob = KoxPushCMO(getoa(obj,1),getoa(obj,2)); + unlockCtrlCForOx(); + }else { + errorKan1("%s\n","[(oxPushCMO) client obj] extension result."); + } +} +else if (strcmp(key,"oxCreateControl_RFC_101") == 0) { + if (size != 4) errorKan1("%s\n","[(oxCreateControl_RFC_101) peer ipmask pass] extension client."); + if (SecureMode) errorKan1("%s\n","Security violation for oxCreateControl_RFC_101."); + rob = KoxCreateControl_RFC_101(getoa(obj,1),getoa(obj,2),getoa(obj,3)); +} +else if (strcmp(key,"oxCreateEngine_RFC_101") == 0) { + if (size != 5) errorKan1("%s\n","[(oxCreateEngine_RFC_101) peer ipmask pass engineID] extension client."); + if (SecureMode) errorKan1("%s\n","Security violation for oxCreateEngine_RFC_101."); + rob = KoxCreateEngine_RFC_101(getoa(obj,1),getoa(obj,2),getoa(obj,3),getoa(obj,4)); +} +else if (strcmp(key,"oxGetClientList") == 0) { + if (size != 1) errorKan1("%s\n","[(oxClientList)] extension list_of_clients."); + rob = KoxGetClientList(); +}