main(int argc,char** argv) { if(argc <2) { printf("%s [port]\n",argv[0]); return 0; } int port = atoi(argv[1]); int sockfd; char buf[1024]; struct sockaddr_in server = {AF_INET,port,INADDR_ANY}; struct sockaddr_in client; int iclientlen = sizeof(struct sockaddr_in); sockfd = socket(AF_INET,SOCK_DGRAM,0); server.sin_port = htons(port); bind(sockfd,(struct sockaddr *)&server,sizeof(struct sockaddr_in)); while(1) { memset (buf,0,1024); int len = recvfrom(sockfd,buf,1024,0,(struct sockaddr *)&client,(socklen_t*)&iclientlen); //阻塞点 sendto(sockfd,buf,len,0,(struct sockaddr *)&client,sizeof(struct sockaddr_in)); PrintBin(stdout,buf,len); //fprintf(stderr,"\nRevv: %s , from %s ,port %d",buf,inet_ntoa(client.sin_addr),client.sin_port); // sleep(5); } }
int main(int argc, const char * argv[]) { unsigned int input; int binary[8]; printf("Please enter a decimal integer: "); scanf("%d", &input); Dec2Bin(input, binary); PrintBin(binary); return 0; }
void OrderParam::PrintError() { PrintBin(); PrintAC(); }
int main(int argc,char** argv) { if(argc < 3) { printf("%s [mcp_to_scc] [scc_to_mcp] [ip] [port] [data]\n",argv[0]); return 0; } CCodeQueue m_Me2SvrPipe; /*输出队列*/ CCodeQueue m_Svr2MePipe; /*输入队列*/ if(CCodeQueue::CreateMQByFile(argv[1],&m_Me2SvrPipe)) { printf("CreateShmMQ %s failed!\n",argv[1]); return -1; } if(CCodeQueue::CreateMQByFile(argv[2],&m_Svr2MePipe)) { printf("CreateShmMQ %s failed!\n",argv[2]); return -1; } int iCodeLength = 1024*1024*3+1024; char *m_szTempBuff = new char[iCodeLength]; memset(m_szTempBuff,'c',iCodeLength); int usrlen = strlen(argv[5]); while(1) { int iTag = 0; memcpy(&iTag,"MPMG",4); iTag = htonl(iTag); memcpy(m_szTempBuff + sizeof(TMQHeadInfo),&iTag,4); int tmp = htonl(usrlen+8); memcpy(m_szTempBuff + sizeof(TMQHeadInfo)+4,&tmp,4); strcpy(m_szTempBuff + sizeof(TMQHeadInfo)+8,argv[5]); TMQHeadInfo* pstMQHeadInfo = (TMQHeadInfo*)m_szTempBuff; memset(pstMQHeadInfo,0,sizeof(TMQHeadInfo)); pstMQHeadInfo->m_ucCmd = TMQHeadInfo::CMD_DATA_TRANS; pstMQHeadInfo->m_unClientIP = inet_addr(argv[3]); strcpy(pstMQHeadInfo->m_szSrcMQ,"sss"); pstMQHeadInfo->m_usClientPort = atoi(argv[4]); pstMQHeadInfo->m_ucDataType = TMQHeadInfo::DATA_TYPE_UDP; int ret = m_Me2SvrPipe.AppendOneCode((char*)m_szTempBuff,sizeof(TMQHeadInfo)+usrlen+8); if (ret <0) { usleep(10); } printf("SEND: user len=%d\n",sizeof(TMQHeadInfo)+usrlen+8); PrintBin(stdout,(char*)m_szTempBuff,sizeof(TMQHeadInfo)+usrlen+8); int pkgnum = 0; int pkglen = 0; int is = time(0); while(1) { iCodeLength = 1024*1024*3+1024; int ilen2 = iCodeLength; int iRet2 = m_Svr2MePipe.GetHeadCode(m_szTempBuff, &ilen2); if(iRet2 < 0 || ilen2 <= 0) { usleep(10000); continue; } PrintBin(stdout,(char*)m_szTempBuff,ilen2); pkgnum++; pkglen += ilen2; int in = time(0); if (in-is >=1) { printf("pkgnum=%d,pkglen=%d\n",pkgnum,(int)(pkglen/1000.0f)); is = in; pkgnum = 0; pkglen = 0; } } //usleep(300000); } }
// Test main procedure void TestSecMain(SECURE *sec) { char *test_str = CEDAR_PRODUCT_STR " VPN"; K *public_key, *private_key; // Validate arguments if (sec == NULL) { return; } Print("test_str: \"%s\"\n", test_str); Print("Writing Data...\n"); if (WriteSecData(sec, true, "test_str", test_str, StrLen(test_str)) == false) { Print("WriteSecData() Failed.\n"); } else { char data[MAX_SIZE]; Zero(data, sizeof(data)); Print("Reading Data...\n"); if (ReadSecData(sec, "test_str", data, sizeof(data)) == false) { Print("ReadSecData() Failed.\n"); } else { Print("test_str: \"%s\"\n", data); } Print("Deleting Data...\n"); DeleteSecData(sec, "test_str"); } Print("Generating Key...\n"); if (RsaGen(&private_key, &public_key, 1024) == false) { Print("RsaGen() Failed.\n"); } else { X *cert; NAME *name; X_SERIAL *serial; UINT num = 0x11220000; Print("Creating Cert...\n"); serial = NewXSerial(&num, sizeof(UINT)); name = NewName(L"Test", L"Test", L"Test", L"JP", L"Test", L"Test"); cert = NewRootX(public_key, private_key, name, 365, NULL); FreeXSerial(serial); if (cert == NULL) { Print("NewRootX() Failed.\n"); } else { Print("Writing Cert...\n"); DeleteSecData(sec, "test_cer"); if (WriteSecCert(sec, true, "test_cer", cert) == false) { Print("WriteSecCert() Failed.\n"); } else { X *x; Print("Reading Cert...\n"); x = ReadSecCert(sec, "test_cer"); if (x == NULL) { Print("ReadSecCert() Failed.\n"); } else { Print("Checking two Certs... "); if (CompareX(x, cert) == false) { Print("[FAILED]\n"); } else { Print("Ok.\n"); } FreeX(x); } if (cert != NULL) { X *x; XToFile(cert, "cert_tmp.cer", true); x = FileToX("cert_tmp.cer"); if (CompareX(x, cert) == false) { Print("[FAILED]\n"); } else { Print("Ok.\n"); Print("Writing Private Key...\n"); DeleteSecKey(sec, "test_key"); if (WriteSecKey(sec, false, "test_key", private_key) == false) { Print("WriteSecKey() Failed.\n"); } else { UCHAR sign_cpu[128]; UCHAR sign_sec[128]; K *pub = GetKFromX(cert); Print("Ok.\n"); Print("Signing Data by CPU...\n"); if (RsaSign(sign_cpu, test_str, StrLen(test_str), private_key) == false) { Print("RsaSign() Failed.\n"); } else { Print("Ok.\n"); Print("sign_cpu: "); PrintBin(sign_cpu, sizeof(sign_cpu)); Print("Signing Data by %s..\n", sec->Dev->DeviceName); if (SignSec(sec, "test_key", sign_sec, test_str, StrLen(test_str)) == false) { Print("SignSec() Failed.\n"); } else { Print("Ok.\n"); Print("sign_sec: "); PrintBin(sign_sec, sizeof(sign_sec)); Print("Compare..."); if (Cmp(sign_sec, sign_cpu, sizeof(sign_cpu)) == 0) { Print("Ok.\n"); Print("Verify..."); if (RsaVerify(test_str, StrLen(test_str), sign_sec, pub) == false) { Print("[FAILED]\n"); } else { Print("Ok.\n"); } } else { Print("[DIFFIRENT]\n"); } } } Print("Deleting test_key...\n"); // DeleteSecKey(sec, "test_key"); FreeK(pub); } } FreeX(x); } } Print("Deleting Cert..\n"); // DeleteSecCert(sec, "test_cer"); FreeX(cert); } FreeName(name); FreeK(private_key); FreeK(public_key); } }