Esempio n. 1
0
bool WINAPI DllMain(HMODULE hDll, DWORD dwReason, PVOID pvReserved)
{
	if(dwReason == DLL_PROCESS_ATTACH)
	{
		DisableThreadLibraryCalls(hDll);

		GetModuleFileName(hDll, dlldir, 512);
		for(int i = strlen(dlldir); i > 0; i--) { if(dlldir[i] == '\\') { dlldir[i+1] = 0; break; } }
		ofile.open(GetDirectoryFile("ttnlog.txt"), ios::app);

		add_log("\n---------------------\nTatniumD3D Started...\n---------------------");

		char sysd3d[320];
		GetSystemDirectory(sysd3d, 320);
		strcat(sysd3d, "\\d3d9.dll");
	
		add_log("Library: %s", sysd3d);
		HMODULE hMod = LoadLibrary(sysd3d);		
		oDirect3DCreate9 = (tDirect3DCreate9)GetProcAddress(hMod, "Direct3DCreate9");

		return true;
	}

	else if(dwReason == DLL_PROCESS_DETACH)
	{
		add_log("---------------------\nTatniumD3D Exiting...\n---------------------\n");
		if(ofile) { ofile.close(); }
	}

    return false;
}
Esempio n. 2
0
static int	receive_file(t_handle *handle, char *path, int size, t_msg *msg)
{
  char		*buf;
  int		fd;

  if (!(buf = malloc(sizeof(char) * size)))
    return (_error("Can't allocate memory : %m\n", -1));
  if ((fd = open(path, O_RDWR)) < 0)
    return (_warning("Can't open file : %m\n", -1));
  if (read(fd, buf, size) < 0)
    return (_warning("Can't read file : %m\n", -1));
  if (write(handle->cli_fd, buf, size) < 0)
    return (_error("Can't write on client %d: %m\n", -1, handle->cli_num));
  if (server_read_sock(handle, buf) < 0)
    return (IWARNING);
  if (!strncmp(buf, "OK", 2))
    add_log("File %s successfully send to client %d\n", 0, msg->arg
	    , handle->cli_num);
  else
    add_log("Fail to send file %s to client %d\n", 0, msg->arg
	    , handle->cli_num);
  free(buf);
  close(fd);
  return (ISUCCESS);
}
Esempio n. 3
0
/*
 * parse qfq options
 */
int parse_tca_options_qfq(char *msg, char **mp, struct rtattr *tca)
{
    struct rtattr *qfq[__TCA_QFQ_MAX];

    parse_nested_rtattr(qfq, TCA_QFQ_MAX, tca);

    if(qfq[TCA_QFQ_WEIGHT]) {
        if(RTA_PAYLOAD(qfq[TCA_QFQ_WEIGHT]) < sizeof(unsigned)) {
            rec_log("error: %s: TCA_QFQ_WEIGHT: payload too short", __func__);
            return(1);
        }
        *mp = add_log(msg, *mp, "weight=%u ",
                      *(unsigned *)RTA_DATA(qfq[TCA_QFQ_WEIGHT]));
    }

    if(qfq[TCA_QFQ_LMAX]) {
        if(RTA_PAYLOAD(qfq[TCA_QFQ_MAX]) < sizeof(unsigned)) {
            rec_log("error: %s: TCA_QFQ_WEIGHT: payload too short", __func__);
            return(1);
        }
        *mp = add_log(msg, *mp, "maxpkt=%u(byte) ",
                      *(unsigned *)RTA_DATA(qfq[TCA_QFQ_LMAX]));
    }

    return(0);
}
Esempio n. 4
0
/*
 * parse attribute TCA_RSVP_PINFO
 */
int parse_tca_rsvp_pinfo(char *msg, char **mp, struct rtattr *rsvp)
{
    struct tc_rsvp_pinfo *pinfo;
    struct tc_rsvp_gpi *dpi, *spi;
    struct protoent *proto;

    if(RTA_PAYLOAD(rsvp) < sizeof(*pinfo)) {
        rec_log("error: %s: -- payload too short --", __func__);
        return(1);
    }
    pinfo = (struct tc_rsvp_pinfo *)RTA_DATA(rsvp);
    dpi = &(pinfo->dpi);
    spi = &(pinfo->spi);
    proto = getprotobynumber(pinfo->protocol);

    *mp = add_log(msg, *mp, "dpi(key/mask/offset)=0x%08x/0x%08x/%d ",
        htonl(dpi->key), htonl(dpi->mask), dpi->offset);
    *mp = add_log(msg, *mp, "spi(key/mask/offset)=0x%08x/0x%08x/%d ",
        htonl(spi->key), htonl(spi->mask), spi->offset);
    *mp = add_log(msg, *mp, "tunnel(protocol/id/hdr)=%d(%s)/%d/%d ",
        pinfo->protocol, proto ? proto->p_name : "unknown",
        pinfo->tunnelid, pinfo->tunnelhdr);

    return(0);
}
Esempio n. 5
0
void Submit::handshake()
{
    //emit add_log(LOG_INFO, "Submit::handshake");
    QString time_str = QString::number(QDateTime::currentDateTime().toTime_t());

    QCryptographicHash auth_hash(QCryptographicHash::Md5);
    auth_hash.addData(QString(context.password_hash + time_str).toLocal8Bit());
    QString auth = QString(auth_hash.result().toHex());

    QUrl url_handshake = QString( "http://%1/?hs=true&p=%2&c=%3&v=%4&u=%5&t=%6&a=%7" )
                .arg(context.host, PROTOCOL_VERSION, CLIENT_ID, CLIENT_VERSION )
                .arg( QString(QUrl::toPercentEncoding(context.username) ))
                .arg( time_str, auth );

    emit add_log(LOG_DEBUG, QString("%1: Time: %2")
                 .arg(SITE_NAME[index], time_str));
    emit add_log(LOG_DEBUG, QString("%1: Auth: %2")
                 .arg(SITE_NAME[index], auth));
    emit add_log(LOG_DEBUG, QString("%1: URL: %2")
                 .arg(SITE_NAME[index], url_handshake.toString(QUrl::None)));

    QNetworkRequest request_handshake;
    request_handshake.setUrl(url_handshake);
    request_handshake.setRawHeader("User-Agent", CLIENT_USERAGENT);

    nr_handshake = nam_handshake->get(request_handshake);
}
Esempio n. 6
0
rt_public EIF_BOOLEAN recv_ack (void)
{
	Request pack;

	Request_Clean (pack);
#ifdef EIF_WINDOWS
	if (-1 == ewb_recv_packet(ewb_sp, &pack, TRUE))
#else
	if (-1 == ewb_recv_packet(ewb_sp, &pack))
#endif
		return (EIF_BOOLEAN) 0;


#ifdef USE_ADD_LOG
    add_log(100, "receiving request : %ld for ec", pack.rq_type);
#endif

	switch (pack.rq_type) {
	case ACKNLGE:

#ifdef USE_ADD_LOG
	    add_log(100, "acknowledge request : %ld for ec", pack.rq_ack.ak_type);
#endif
		switch (pack.rq_ack.ak_type) {
		case AK_OK:
			return (EIF_BOOLEAN) 1;
		case AK_ERROR:
			return (EIF_BOOLEAN) 0;
		default:
			return (EIF_BOOLEAN) 0;
		}
	default:
		return (EIF_BOOLEAN) 0;
	}
}
void Parse_MTP::mtp_do_storage(bool clear)
{
    IPortableDevice *pd;
    IPortableDeviceValues *pdv;
    IPortableDeviceContent *pdc = NULL;
    HRESULT hr;

    hr = CoCreateInstance(CLSID_PortableDevice, NULL, CLSCTX_INPROC_SERVER,
                          IID_IPortableDevice, (VOID**)&pd);
    if (FAILED(hr))
    {
        emit add_log(LOG_ERROR, QString("mtp_do_storage: Failed to create IPortableDevice: %1")
                .arg(hr, 0, 16));
        return;
    }

    hr = CoCreateInstance(CLSID_PortableDeviceValues, NULL, CLSCTX_INPROC_SERVER,
                          IID_IPortableDeviceValues, (VOID**)&pdv);
    if (FAILED(hr))
    {
        emit add_log(LOG_ERROR, QString("mtp_do_storage: Failed to create IPortableDeviceValues: %1")
                .arg(hr, 0, 16));
        return;
    }

    for (int i = 0; i < mtp_devices.size(); i++)
    {
        // after this we're creating objects which need to be cleaned up.
        hr = pd->Open(mtp_devices[i], pdv);
        if (FAILED(hr))
        {
            emit add_log(LOG_ERROR, QString("mtp_do_storage: Failed to open IPortableDevice: %1")
                    .arg(hr, 0, 16));
            goto mtp_do_storage_cleanup;
        }

        hr = pd->Content(&pdc);
        if (FAILED(hr))
        {
            emit add_log(LOG_ERROR, QString("mtp_do_storage: Failed to retrieve content from IPortableDevice: %1")
                    .arg(hr, 0, 16));
            goto mtp_do_storage_cleanup;
        }
        mtp_recurse_storage(WPD_DEVICE_OBJECT_ID, pdc, clear);

mtp_do_storage_cleanup:
        if (pdc)
        {
            pdc->Release();
            pdc = NULL;
        }
        if (pdv)
        {
            pdv->Release();
            pdv = NULL;
        }
        pd->Close();
    }
}
Esempio n. 8
0
int do_init(int argc, char **argv) {
	int i;
	char *CONF_FILE = "conf/login.conf";
	char *LANG_FILE = "conf/lang.conf";
	char *INTER_FILE = "conf/inter.conf";

	srand(gettick());
	set_logfile("log/login.log");
	set_dmpfile("log/login_dump.log");

	for (i = 1; i < argc ; i++) {
		if (strcmp(argv[i], "--help") == 0 || strcmp(argv[i], "--h") == 0 || strcmp(argv[i], "--?") == 0 || strcmp(argv[i], "/?") == 0)
			help_screen();
		else if (strcmp(argv[i], "--conf") == 0)
			CONF_FILE=argv[i+1];
		else if (strcmp(argv[i],"--inter") == 0)
			INTER_FILE = argv[i+1];
		else if (strcmp(argv[i],"--lang") == 0)
			LANG_FILE = argv[i+1];
	}

	config_read(CONF_FILE);
	config_read(INTER_FILE);
	config_read("conf/char.conf");
	sql_handle = Sql_Malloc();
	if(sql_handle==NULL)
	{
		Sql_ShowDebug(sql_handle);
		exit(EXIT_FAILURE);
	}
	if( SQL_ERROR == Sql_Connect(sql_handle, sql_id, sql_pw, sql_ip, (uint16)sql_port, sql_db) )
	{
		printf("id: %s pass: %s Port: %d\n",sql_id, sql_pw,sql_port);
		Sql_ShowDebug(sql_handle);
		Sql_Free(sql_handle);
		exit(EXIT_FAILURE);
	}
	
	//sql_init();
	lang_read(LANG_FILE);
	set_termfunc(do_term);
	//zlib_init();
	add_log("");
	add_log("mYnexia Login Server Started.\n");

	set_defaultaccept(clif_accept);
	set_defaultparse(clif_parse);
	login_fd = make_listen_port(login_port);
	timer_insert(10 * 60 * 1000, 10 * 60 * 1000, Remove_Throttle, 0, 0);
	//Lockout DB
	bf_lockout=uidb_alloc(DB_OPT_BASE);
	
	printf("mYnexia Login Server is \033[1;32mready\033[0m! Listening at %d.\n", login_port);
	add_log("Server Ready! Listening at %d.\n", login_port);
	return 0;
}
Esempio n. 9
0
/*
 * parse attributes TCA_ACT_*
 */
int parse_tca_act(char *msg, char *mp, struct rtattr *acts)
{
    struct rtattr *act[__TCA_ACT_MAX];
    char kind[IFNAMSIZ] = "";

    mp = add_log(msg, mp, "order=%d ", acts->rta_type);

    parse_nested_rtattr(act, __TCA_ACT_MAX-1, acts);

    if(act[TCA_ACT_KIND]) {
        strncpy(kind, (char *)RTA_DATA(act[TCA_ACT_KIND]), sizeof(kind));
        mp = add_log(msg, mp, "action=%s ", kind);
    }

    if(act[TCA_ACT_OPTIONS]) {
        if(!strncmp(kind, "police", sizeof(kind))) {
            if(parse_tca_act_options_police(msg, mp, act[TCA_ACT_OPTIONS]))
                return(1);
            return(0);
        } else if(!strncmp(kind, "gact", sizeof(kind))) {
            if(parse_tca_act_options_gact(msg, mp, act[TCA_ACT_OPTIONS]))
                return(1);
            return(0);
        } else if(!strncmp(kind, "pedit", sizeof(kind))) {
            if(parse_tca_act_options_pedit(msg, mp, act[TCA_ACT_OPTIONS]))
                return(1);
            return(0);
        } else if(!strncmp(kind, "mirred", sizeof(kind))) {
            if(parse_tca_act_options_mirred(msg, mp, act[TCA_ACT_OPTIONS]))
                return(1);
            return(0);
#ifdef HAVE_LINUX_TC_ACT_TC_NAT_H
        } else if(!strncmp(kind, "nat", sizeof(kind))) {
            if(parse_tca_act_options_nat(msg, mp, act[TCA_ACT_OPTIONS]))
                return(1);
            return(0);
#endif
#ifdef HAVE_LINUX_TC_ACT_TC_SKBEDIT_H
        } else if(!strncmp(kind, "skbedit", sizeof(kind))) {
            if(parse_tca_act_options_skbedit(msg, mp, act[TCA_ACT_OPTIONS]))
                return(1);
            return(0);
#endif
#ifdef HAVE_LINUX_TC_ACT_TC_CSUM_H
        } else if(!strncmp(kind, "csum", sizeof(kind))) {
            if(parse_tca_act_options_csum(msg, mp, act[TCA_ACT_OPTIONS]))
                return(1);
            return(0);
#endif
        }
    }

    rec_log("%s", msg);

    return(0);
}
Esempio n. 10
0
int pantech_logfile_save_log( const char* msg )
{
    fs_handle_type  file;

    file = open_log_file();
    if( file == FS_NULL_HANDLE )
    {
        return -1;
    }

    if( g_head.count_ < MAX_LOG )
    {
        IDX_T new_idx;

        new_idx = add_log( file, &g_head, msg );
        if( new_idx == NULL_IDX ) return FALSE;

        if( set_value( file, LOG_COUNT_POS, g_head.count_, 4 )     == FALSE )      return FALSE;
        if( set_value( file, TAIL_POS, g_head.tail_, 4 )           == FALSE )      return FALSE;
        if( set_value( file, FREE_HEAD_POS, g_head.free_head_, 4 ) == FALSE )      return FALSE;
        if( set_prev_next( file, &g_head, new_idx )                == FALSE )      return FALSE;

        if( g_head.count_ == 1 )
        {
            if( set_value( file, HEAD_POS, g_head.head_, 4 )       == FALSE )      return FALSE;
        }
        else
        {
            if( set_prev_next( file, &g_head, g_head.prev_[ new_idx ] ) == FALSE ) return FALSE;
        }
    }
    else
    {
        IDX_T idx;

        idx                 = g_head.head_;
        g_head.head_        = g_head.next_[ idx ];

        g_head.free_head_   = idx;
        g_head.next_[ idx ] = NULL_IDX;
        g_head.count_--;

        if( add_log( file, &g_head, msg ) != idx ) return FALSE;

        if( set_value( file, HEAD_POS, g_head.head_, 4 )        == FALSE ) return FALSE;
        if( set_value( file, TAIL_POS, g_head.tail_, 4 )        == FALSE ) return FALSE;
        if( set_prev_next( file, &g_head, idx )                 == FALSE ) return FALSE;
        if( set_prev_next( file, &g_head, g_head.prev_[ idx ] ) == FALSE ) return FALSE;
    }

    pantech_fclose( file );

    return 0;
}
Esempio n. 11
0
// MAIN ENTRY
BOOL __stdcall DllMain(HINSTANCE hinstDll, DWORD fdwReason, LPVOID lpvReserved)
{
	(void)lpvReserved;
	(void)hinstDll;

	//Read the config file
	g_reader = new configReader;

	switch (fdwReason)
	{
	case DLL_PROCESS_ATTACH:
		DisableThreadLibraryCalls(hOriginalDll);

		// Splash Screen enabled?
		if (g_reader->GetEnableSplashScreen())
		{
			char info[255];
			sprintf_s(info, "OpenGL3DVision Wrapper v.%s", OGL3DVISION_VERSION_STR);
			// SDK Message box
			CustomMessageBox(NULL, _T("  \t\t\t\t\t\t               \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n"),
				_T(info), MB_OK);
		}
		// Init the wrapper
		LoadFPSInject();
		Init();
		break;

	case DLL_PROCESS_DETACH:
		if (hOriginalDll != NULL)
		{
			// Stop the threads
			StopResizeThread();
			StoptNVAPIThread();
			Sleep(500);

			NV3DVisionBuffers_destroy(gl_d3d_buffers);
			add_log("\nDisabling 3D Vision... Cleaning up and freeing the resources...");
			// Removing the FPS inject
			if (FPSDestroy)
			{
				(FPSDestroy)(m_FPSInjector);
			}
			FreeLibrary(FPSHandle);
			add_log("Application closed successfully !\nEND\n");
			// The the openGL32.dll lib
			FreeLibrary(hOriginalDll);
			hOriginalDll = NULL;
			
		}
		break;
	}
	return TRUE;
}
Esempio n. 12
0
IDirect3D9 *APIENTRY hkDirect3DCreate9(UINT SDKVersion)
{
	IDirect3D9 *d3dint = oDirect3DCreate9(SDKVersion);

	if( d3dint != NULL )
	{
		hkIDirect3D9 *ret = new hkIDirect3D9(&d3dint);
		add_log("Direct3DCreate9(%i) succeeded...", SDKVersion);
		add_log("Hooked Direct3D9 interface: 0x%x -> 0x%x", ret->m_pD3Dint, ret);
	}
	else
		add_log("Direct3DCreate9(%i) failed...", SDKVersion);

	return d3dint;
}
Esempio n. 13
0
rt_public int app_start(char *cmd)
/* The command string (without i/o redirection) */
{
    /* Start application under ised control and establish communication link
     * with ewb for debugging purpose. Return 0 if ok, -1 for failure.
     */

    Request rqst;

    Request_Clean (rqst);
    rqst.rq_type = APPLICATION;			/* Request application start-up */

    ewb_send_packet(ewb_sp, &rqst);	/* Send request for ised processing */

    if (-1 == send_str(ewb_sp, cmd)) {		/* Send command string */
#ifdef USE_ADD_LOG
        add_log(2, "ERROR cannot send command string");
#endif
        return -1;
    }

#ifdef EIF_WINDOWS
    ewb_recv_packet(ewb_sp, &rqst, TRUE);		/* Acknowledgment */
#else
    ewb_recv_packet(ewb_sp, &rqst);		/* Acknowledgment */
#endif
    return AK_OK == rqst.rq_ack.ak_type ? 0 : -1;
}
Esempio n. 14
0
static turn_command_t process_input_log(game_t * game, int input)
{
    int log_input_index = strlen(game->log.log_input) - 1;

    if(input == KEY_BACKSPACE) {
        if(log_input_index < 0) {
            return turn_command_void;
        }

        game->log.log_input[log_input_index] = '\0';
    }

    if((input >= 'a' && input <= 'z') || (input >= 'A' && input <= 'Z') || input == ' ') {
        game->log.log_input[log_input_index + 1] = input;
        game->log.log_input[log_input_index + 2] = '\0';
    }

    if((input == '\n' || input == KEY_ENTER) && strlen(game->log.log_input) > 0) {
        turn_command_t command;

        command = execute_command(game, game->log.log_input);

        add_log(&(game->log), game->log.log_input);

        game->log.log_input[0] = '\0';
        log_input_index = 0;
        return command;
    }

    return turn_command_void;
}
void Parse_MTP::mtp_recurse_storage(PCWSTR object_id, IPortableDeviceContent *pdc, bool clear)
{
    IEnumPortableDeviceObjectIDs *enum_ids = NULL;
    HRESULT hr;

    hr = pdc->EnumObjects(0, object_id, NULL, &enum_ids);
    if (FAILED(hr))
    {
        emit add_log(LOG_ERROR, QString("mtp_recurse_storage: Failed to get objects from PDC: %1")
                .arg(hr, 0, 16));
        return;
    }

    mtp_get_metadata(object_id, pdc, clear);

    while (S_OK == hr)
    {
        const int batch_size = 10;
        ULONG num_fetched = 0;
        PWSTR object_ids[batch_size] = {0};
        hr = enum_ids->Next(batch_size, object_ids, &num_fetched);
        if (SUCCEEDED(hr))
        {
            for (ULONG i = 0; i < num_fetched; i++)
            {
                mtp_recurse_storage(object_ids[i], pdc, clear);

                CoTaskMemFree(object_ids[i]);
                object_ids[i] = NULL;
            }
        }
    }
}
Esempio n. 16
0
/*
 * parse sfb options
 */
int parse_tca_options_sfb(char *msg, char **mp, struct rtattr *tca)
{
    struct rtattr *sfb[__TCA_NETEM_MAX];

    parse_nested_rtattr(sfb, TCA_SFB_MAX, tca);

    if(sfb[TCA_SFB_PARMS]) {
        struct tc_sfb_qopt *qopt;
        char rehash[MAX_STR_SIZE];
        char warmup[MAX_STR_SIZE];

        if(RTA_PAYLOAD(sfb[TCA_SFB_PARMS]) < sizeof(*qopt)) {
            rec_log("error: %s: TCA_SFB_PARMS: payload too short", __func__);
            return(1);
        }
        qopt = (struct tc_sfb_qopt *)RTA_DATA(sfb[TCA_SFB_PARMS]);

        conv_unit_usec(rehash, sizeof(rehash), qopt->rehash_interval * 1000);
        conv_unit_usec(warmup, sizeof(warmup), qopt->warmup_time * 1000);

        *mp = add_log(msg, *mp, "limit=%u(packet) max=%u(packet) "
            "target=%u(packet) increment=%.5f decrement=%.5f "
            "penalty-rate=%u(packet/s) penalty-burst=%u(packet) "
            "rehash=%s warmup=%s ",
            qopt->limit, qopt->max, qopt->bin_size,
            (double)qopt->increment / SFB_MAX_PROB,
            (double)qopt->decrement / SFB_MAX_PROB,
            qopt->penalty_rate, qopt->penalty_burst,
            rehash, warmup);
    }

    return(0);
}
void Parse_MTP::mtp_device_name(DWORD index, LPCWSTR device_id)
{
    // model is sometimes the "friendly" name, or just manufacturers model name
    DWORD name_len = 256;
    WCHAR *name = new (std::nothrow) WCHAR[name_len];
    QString make, model, desc;

    HRESULT hr = pdm->GetDeviceManufacturer(device_id, name, &name_len);
    if (SUCCEEDED(hr))
        make = QString::fromWCharArray(name, name_len);

    // Reset name_len back to the starting size
    name_len = 256;
    hr = pdm->GetDeviceFriendlyName(device_id, name, &name_len);
    if (SUCCEEDED(hr))
        model = QString::fromWCharArray(name, name_len);

    name_len = 256;
    hr = pdm->GetDeviceDescription(device_id, name, &name_len);
    if (SUCCEEDED(hr))
        desc = QString::fromWCharArray(name, name_len);
    delete [] name;

    emit add_log(LOG_INFO,
                 QString("Device %1: %2 - %3 - %4")
                 .arg(index)
                 .arg(make, model, desc));
}
Esempio n. 18
0
rt_public void app_tpipe(STREAM *stream)
{
	/* Initialize the file descriptor to be used in data exchanges with the
	 * remote process. This enables us to omit this parameter whenever an I/O
	 * with the remote process has to be made.
	 */

	if (app_sp != NULL) { 
		unregister_packet_functions (app_sp); 
		close_stream (app_sp);
	}
	if (stream != NULL) {
		app_sp = stream;
		register_packet_functions (app_sp, &app_send_packet, &app_recv_packet);
	} else {
		app_sp = (STREAM *) 0;
	};

#ifdef DEBUG
#ifdef USE_ADD_LOG
	add_log(20, "stream set up as (rd = #%d, wr = #%d)",
		readfd(app_sp), writefd(app_sp));
#endif
#endif
}
Esempio n. 19
0
void GetTrackInfo::get_finished(QNetworkReply *reply)
{
    int elapsed = time.elapsed();
    if ( reply->error() != QNetworkReply::NoError ) {
        emit add_log(LOG_ERROR, tr("API: Failed to download track length: %1")
                     .arg(reply->errorString()));
        emit finished(index, false, 0, elapsed);
        return;
    }

    QString result(reply->readAll());
    reader->addData(result);
    reader->readNext();
    if (reader->atEnd())
    {
        emit add_log(LOG_ERROR, tr("API: Empty XML"));
        emit finished(index, false, 0, elapsed);
        return;
    }
    QString status;
    int length = 0;
    while (!reader->atEnd())
    {
        if (reader->isStartElement())
        {
            if (reader->name() == "lfm")
            {
                QXmlStreamAttributes attributes = reader->attributes();
                status = attributes.value("status").toString();
            }
            if (reader->name() == "duration")
            {
                length = reader->readElementText().toInt()/1000;
            }
        }
        reader->readNext();
    }

    emit add_log(LOG_TRACE, QString("API: %1 is %2, took %3")
                 .arg(index)
                 .arg(length)
                 .arg(elapsed/1000.0));
    if (status.startsWith("ok"))
        emit finished(index, true, length, elapsed);
    else
        emit finished(index, false, 0, elapsed);
}
Esempio n. 20
0
rt_private Signal_t broken(int sig)
{
#ifdef USE_ADD_LOG
    add_log(20, "SIGPIPE signal handler broken() called in network.c");
#endif
    longjmp(env, 1);			/* SIGPIPE was received */
    /* NOTREACHED */
}
Esempio n. 21
0
/*
 * parse ematch meta
 */
int parse_ematch_meta(char *msg, char *mp, void *p, int len)
{
    struct rtattr *meta[__TCA_EM_META_MAX];
    struct tcf_meta_hdr *hdr = NULL;
    struct tcf_meta_val *left = NULL, *right = NULL;

    parse_rtattr(meta, TCA_EM_META_MAX, p, len);

    if(meta[TCA_EM_META_HDR]) {
        if(RTA_PAYLOAD(meta[TCA_EM_META_HDR]) < sizeof(*hdr)) {
            rec_log("error: %s: TCA_EM_META_HDR: payload too short", __func__);
            return(1);
        }
        hdr = (struct tcf_meta_hdr *)RTA_DATA(meta[TCA_EM_META_HDR]);
        left = &(hdr->left);
        right = &(hdr->right);
    } else {
        rec_log("error: %s: TCA_EM_META_HDR: no attribute", __func__);
        return(1);
    }

    mp = add_log(msg, mp, "match=(");

    if(meta[TCA_EM_META_LVALUE]) {
        if(parse_tca_em_meta_value(msg, &mp, left, meta[TCA_EM_META_LVALUE]))
            return(1);
    } else {
        rec_log("error: %s: TCA_EM_META_LVALUE: no attribute", __func__);
        return(1);
    }

    mp = add_log(msg, mp, "%s ", conv_tcf_em_opnd(left->op, 0));

    if(meta[TCA_EM_META_RVALUE]) {
        if(parse_tca_em_meta_value(msg, &mp, right, meta[TCA_EM_META_RVALUE]))
            return(1);
    } else {
        rec_log("error: %s: TCA_EM_META_RVALUE: no attribute", __func__);
        return(1);
    }
    mp = add_log(msg, mp, ") ");

    rec_log("%s", msg);

    return(0);
}
Esempio n. 22
0
/*
 * parse traffic control message
 */
int parse_tcamsg(struct nlmsghdr *nlh)
{
    struct tcamsg *tcam;
    int tcam_len;
    struct rtattr *tcaa[TCAA_MAX+1];
    char msg[MAX_MSG_SIZE] = "";
    char *mp = msg;
    int log_opts = get_log_opts();

    /* debug nlmsghdr */
    if(log_opts & L_DEBUG)
        debug_nlmsg(0, nlh);

    /* get tcamsg */
    tcam_len = NLMSG_PAYLOAD(nlh, 0);
    if(tcam_len < sizeof(*tcam)) {
        rec_log("error: %s: length too short", __func__);
        return(1);
    }
    tcam = (struct tcamsg *)NLMSG_DATA(nlh);

    /* parse traffic control action message attributes */
    parse_tca(tcaa, nlh);

    /* debug tcamsg */
    if(log_opts & L_DEBUG)
        debug_tcamsg(0, tcam, tcaa, tcam_len);

    /* kind of message */
    switch(nlh->nlmsg_type) {
        case RTM_NEWACTION:
            mp = add_log(msg, mp, "tc action added: ");
            break;
        case RTM_DELACTION:
            mp = add_log(msg, mp, "tc action deleted: ");
            break;
        default:
            return(1);
    }

    if(tcaa[TCA_ACT_TAB])
        if(parse_tca_acts(msg, mp, tcaa[TCA_ACT_TAB]))
            return(1);

    return(0);
}
Esempio n. 23
0
/*
 * parse attribute TCA_*_MASK
 */
int parse_tca_mask(char *msg, char **mp, struct rtattr *tca)
{
    if(RTA_PAYLOAD(tca) < sizeof(unsigned)) {
        rec_log("error: %s: payload too short", __func__);
        return(1);
    }
    *mp = add_log(msg, *mp, "mask=0x%08x ", *(unsigned *)RTA_DATA(tca));

    return(0);
}
Esempio n. 24
0
/*
 * parse attribute TCA_FLOW_PERTURB
 */
int parse_tca_flow_perturb(char *msg, char **mp, struct rtattr *flow)
{
    if(RTA_PAYLOAD(flow) < sizeof(unsigned)) {
        rec_log("error: %s: payload too short", __func__);
        return(1);
    }
    *mp = add_log(msg, *mp, "perturb=%u(sec) ", *(unsigned *)RTA_DATA(flow));

    return(0);
}
Esempio n. 25
0
/*
 * parse attribute TCA_FLOW_KEYS
 */
int parse_tca_flow_keys(char *msg, char **mp, struct rtattr *flow)
{
    if(RTA_PAYLOAD(flow) < sizeof(unsigned)) {
        rec_log("error: %s: payload too short", __func__);
        return(1);
    }
    *mp = add_log(msg, *mp, "keys=%s ", conv_flow_key(*(unsigned *)RTA_DATA(flow), 0));

    return(0);
}
Esempio n. 26
0
/*
 * parse red options
 */
int parse_tca_options_red(char *msg, char **mp, struct rtattr *tca)
{
    struct rtattr *red[__TCA_RED_MAX];

    parse_nested_rtattr(red, TCA_RED_MAX, tca);

    if(red[TCA_RED_PARMS]) {
        struct tc_red_qopt *qopt;
        char limit[MAX_STR_SIZE] = "";
        char min[MAX_STR_SIZE] = "";
        char max[MAX_STR_SIZE] = "";
        char list[MAX_STR_SIZE] = "";

        if(RTA_PAYLOAD(red[TCA_RED_PARMS]) < sizeof(*qopt)) {
            rec_log("error: %s: TCA_RED_PARMS: payload too short", __func__);
            return(1);
        }
        qopt = (struct tc_red_qopt *)RTA_DATA(red[TCA_RED_PARMS]);

        conv_unit_size(limit, sizeof(limit), qopt->limit);
        conv_unit_size(min, sizeof(min), qopt->qth_min);
        conv_unit_size(max, sizeof(max), qopt->qth_max);

        *mp = add_log(msg, *mp, "limit=%s min=%s max=%s ", limit, min, max);
        if(qopt->flags) {
            conv_tc_red_flags(qopt->flags, list, sizeof(list), 0);
            *mp = add_log(msg, *mp, "flag=%s ", list);
        }
    }

#if HAVE_DECL_TCA_RED_MAX_P
    if(red[TCA_RED_MAX_P]) {
        if(RTA_PAYLOAD(red[TCA_RED_MAX_P]) < sizeof(unsigned)) {
            rec_log("error: %s: TCA_RED_MAX_P: payload too short", __func__);
            return(1);
        }
        *mp = add_log(msg, *mp, "probability=%g(%%) ",
            *(unsigned *)RTA_DATA(red[TCA_RED_MAX_P]) / pow(2, 32) * 100);
    }
#endif

    return(0);
}
Esempio n. 27
0
rt_private int get_pipe_events (char* id, HANDLE* p_event_r, HANDLE* p_event_w)
{
	HANDLE event_r, event_w;
	CHAR   event_str [128];
	unsigned int debuggee_pid;
	DWORD count;

	/* debuggee/application date */
	debuggee_pid = (unsigned int) GetCurrentProcessId();

	/* Get Semaphore */
	event_r = NULL;

/*      NT 3.51 is really fast - at this point we know we were launched by ebench.
	lets wait for it to catch up with us */

	sprintf (event_str, "eif_event_w%x_%s", debuggee_pid, id);
	for (count = 0; (event_r == NULL) && (count < 10); count++) {
		event_r = OpenSemaphore (SEMAPHORE_ALL_ACCESS, FALSE, event_str);
		if (event_r == NULL)
			Sleep(500);
	}
	if (event_r == NULL) {
#ifdef USE_ADD_LOG
		add_log(12, "not started from wrapper - no read event %d", GetLastError());
#endif
		return -1;
	}
	sprintf (event_str, "eif_event_r%x_%s", debuggee_pid, id);
	event_w = OpenSemaphore (SEMAPHORE_ALL_ACCESS, FALSE, event_str);
	if (event_w == NULL) {
#ifdef USE_ADD_LOG
		add_log(12, "not started from wrapper - no write event");
#endif
		return -1;
	}

	*p_event_r = event_r;
	*p_event_w = event_w;

	return 0;
}
Esempio n. 28
0
void obj_log( char_data* ch, int i, const char* string )
{
  char   file  [ ONE_LINE ];

  if( string != empty_string ) {
    sprintf( file, "%sobj.%d", OBJ_LOG_DIR, i );
    add_log( "Obj_Log", file, ch, string );
    }

  return;
}
Esempio n. 29
0
void room_log(  char_data* ch, int i, const char* string )
{
  char file  [ ONE_LINE ];

  if( string != empty_string ) {
    sprintf( file, "%sroom.%d", ROOM_LOG_DIR, i );
    add_log( "Room_Log", file, ch, string );
    }

  return;
}
Esempio n. 30
0
void mob_log(  char_data* ch, int i, const char* string )
{
  char  file  [ ONE_LINE ];

  if( string != empty_string ) {
    sprintf( file, "%smob.%d", MOB_LOG_DIR, i );
    add_log( "Mob_Log", file, ch, string );
    }

  return;
}