示例#1
0
BOOL MakeDate3(time_t* t, uni_char* buf, size_t buf_len)
{
	time_t loc_time = *t;
	struct tm* gmt_time = op_gmtime(&loc_time);

	if(!gmt_time)
		return FALSE;

	return FMakeDate(*gmt_time, "\247w, \247D \247n \247Y \247h:\247m:\247s UTC", buf, buf_len);
}
示例#2
0
int GetThisYear(unsigned int *month)
{
	// look a day ahead
	if (g_thistime != g_timecache->CurrentTime())
	{
		g_thistime = g_timecache->CurrentTime();
		struct tm* gmt_time = op_gmtime(&g_thistime);
		g_thisyear = gmt_time ? gmt_time->tm_year + 1900 : 1970;
		g_thismonth = gmt_time ? gmt_time->tm_mon+1 : 1;
	}
	if(month) *month = g_thismonth;
	return g_thisyear;
}
示例#3
0
HX_DATETIME 
HX_GET_DATETIME(void)
{
    op_tm tm;
    time_t t = op_time();
    HX_DATETIME dt;

    // XXXSAB - localtime?
    op_gmtime(t, &tm);
    dt.second = tm.tm_sec;
    dt.minute = tm.tm_min;
    dt.hour = tm.tm_hour;
    dt.dayofweek = tm.tm_wday;
    dt.dayofmonth = tm.tm_mday;
    dt.dayofyear = tm.tm_yday;
    dt.month = tm.tm_mon + 1; // 0 based (11 = December)
    dt.year = tm.tm_year;
    dt.gmtDelta = 0; // or something
    return dt;
}
void CertificateManagerDialog::AddImportedCert(CertImportExportCallback::Mode mode)
{
	OpString tmp_string;
	int i = 0;

	switch (mode)
	{
		case CertImportExportCallback::IMPORT_PERSONAL_CERT_MODE:
		{
			m_personal_certs_model.DeleteAll();

			while (m_personal_cert_context->GetCertificateShortName(tmp_string, i))
			{
				m_personal_certs_model.AddItem(tmp_string.CStr());
				m_personal_cert_context->GetIssuerShortName(tmp_string, i);
				m_personal_certs_model.SetItemData(i, 1, tmp_string.CStr());
				i++;
			}
		}
		break;

		case CertImportExportCallback::IMPORT_AUTHORITIES_CERT_MODE:
		{
			m_authorities_certs_model.DeleteAll();

			while (m_site_cert_context->GetCertificateShortName(tmp_string, i++))
				m_authorities_certs_model.AddItem(tmp_string.CStr());
		}
		break;

		case CertImportExportCallback::IMPORT_INTERMEDIATE_CERT_MODE:
		{
			m_intermediate_certs_model.DeleteAll();

			while (m_intermediate_cert_context->GetCertificateShortName(tmp_string, i++))
				m_intermediate_certs_model.AddItem(tmp_string.CStr());
		}
		break;

		case CertImportExportCallback::IMPORT_REMEMBERED_CERT_MODE:
		{
			m_remembered_certs_model.DeleteAll();

			while (m_remembered_cert_context->GetCertificateShortName(tmp_string, i))
			{
				// Format of the string "server:port certname"

				// Sanity check:
				int colon = tmp_string.FindFirstOf((uni_char)':');
				int space = tmp_string.FindFirstOf((uni_char)' ');

				if(colon == KNotFound || space == KNotFound || space < colon)
					continue;

				// Get the server
				OpString server;
				server.Set(tmp_string.CStr(), colon);

				// Get the port
				OpString port;
				port.Set(tmp_string.SubString(colon+1).CStr(), space-colon);

				// Get the certificate name
				OpString cert_name;
				cert_name.Set(tmp_string.SubString(space));

				// Get the expiration time - currently not supported from core #323251
				OpString time;
				GetExpiredTimeString(m_remembered_cert_context, i, time);

				m_remembered_certs_model.AddItem(cert_name.CStr());
				m_remembered_certs_model.SetItemData(i, 1, server.CStr());
				m_remembered_certs_model.SetItemData(i, 2, port.CStr());
				// m_remembered_certs_model.SetItemData(i, 3, time); // See above

				i++;
			}
		}
		break;

		case CertImportExportCallback::IMPORT_REMEMBERED_REFUSED_CERT_MODE:
		{
			m_remembered_refused_certs_model.DeleteAll();

			while (m_remembered_refused_cert_context->GetCertificateShortName(tmp_string, i))
			{
				int space = tmp_string.FindFirstOf((uni_char)' ');
				OpString cert_name, server;
				if (space != KNotFound)
				{
					cert_name.Set(tmp_string.CStr(), space);
					server.Set(tmp_string.SubString(space));
				}
				else
				{
					cert_name.Set(tmp_string);
					server.Empty();
				}
				m_remembered_refused_certs_model.AddItem(cert_name.CStr());
				m_remembered_refused_certs_model.SetItemData(i, 1, server.CStr());
				time_t trusted_until = m_remembered_refused_cert_context->GetTrustedUntil(i);
				if (trusted_until > 0) // 0 signals error
				{
					OpString time_buf;
					time_buf.Reserve(64);
					tm* gmt_trusted_until = op_gmtime(&trusted_until);
					g_oplocale->op_strftime(time_buf.CStr(), time_buf.Length(), UNI_L("%x"), gmt_trusted_until);
					m_remembered_refused_certs_model.SetItemData(i, 2, time_buf.CStr());
				}
				i++;
			}
		}
		break;
	}

	// Even though the import may take time the current implementation
	// only supports importing one at a time, so the buttons are disabled
	// while importing, now the import is done and it is safe to enable them
	// again.
	EnableDisableImportExportButtons(TRUE);
}