Skip to content
This repository was archived by the owner on Sep 7, 2021. It is now read-only.

Commit b1f2e37

Browse files
author
Fraser J. Gordon
committed
Change MCU_{encode,decode}base64 to no longer use an EP
1 parent b9dd5cb commit b1f2e37

4 files changed

Lines changed: 38 additions & 43 deletions

File tree

engine/src/deploy_sign.cpp

Lines changed: 24 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -894,15 +894,11 @@ static bool MCDeploySignWindowsAddTimeStamp(const MCDeploySignParameters& p_para
894894
t_success = i2d(i2d_SpcTimeStampRequest, t_request, t_request_data, t_request_length);
895895

896896
// Convert the request to base64
897-
extern MCExecContext *MCECptr;
898-
MCExecPoint ep(MCECptr->GetEP());
899-
if (t_success)
900-
{
901-
ep . setstaticbytes(t_request_data, t_request_length);
902-
MCU_base64encode(ep);
903-
ep . appendnewline();
904-
}
905-
897+
MCAutoDataRef t_req_dataref;
898+
MCAutoStringRef t_req_base64;
899+
/* UNCHECKED */ MCDataCreateWithBytes(t_request_data, t_request_length, &t_req_dataref);
900+
MCU_base64encode(*t_req_dataref, &t_req_base64);
901+
906902
// Request the timestamp from the tsa
907903
if (t_success)
908904
{
@@ -921,10 +917,11 @@ static bool MCDeploySignWindowsAddTimeStamp(const MCDeploySignParameters& p_para
921917
while(t_retry_count > 0)
922918
{
923919
MCParameter t_data, t_url;
924-
t_data . sets_argument(ep . getsvalue());
920+
t_data . setvalueref_argument(*t_req_base64);
925921
t_data . setnext(&t_url);
926922
t_url . sets_argument(p_params . timestamper);
927-
if (ep . getobj() -> message(MCM_post_url, &t_data, False, True) == ES_NORMAL &&
923+
extern MCExecContext *MCECptr;
924+
if (MCECptr->GetObject() -> message(MCM_post_url, &t_data, False, True) == ES_NORMAL &&
928925
MCresult -> isempty())
929926
{
930927
t_failed = false;
@@ -943,11 +940,19 @@ static bool MCDeploySignWindowsAddTimeStamp(const MCDeploySignParameters& p_para
943940
}
944941

945942
// Now convert the reply to binary.
946-
if (t_success)
947-
{
948-
MCurlresult -> eval(ep);
949-
MCU_base64decode(ep);
950-
}
943+
MCAutoValueRef t_result_value;
944+
MCAutoStringRef t_result_base64;
945+
MCAutoDataRef t_result_data;
946+
extern MCExecContext *MCECptr;
947+
948+
if (t_success)
949+
{
950+
MCurlresult -> copyasvalueref(&t_result_value);
951+
t_success = MCECptr->ConvertToString(*t_result_value, &t_result_base64);
952+
}
953+
954+
if (t_success)
955+
MCU_base64decode(*t_result_base64, &t_result_data);
951956

952957
// Decode the PKCS7 structure
953958
PKCS7 *t_counter_sig;
@@ -956,13 +961,13 @@ static bool MCDeploySignWindowsAddTimeStamp(const MCDeploySignParameters& p_para
956961
{
957962
#if defined(TARGET_PLATFORM_LINUX) || defined(TARGET_PLATFORM_WINDOWS) || (__MAC_OS_X_VERSION_MAX_ALLOWED > 1050)
958963
const unsigned char *t_data;
959-
t_data = (const unsigned char *)ep . getsvalue() . getstring();
964+
t_data = (const unsigned char *)MCDataGetBytePtr(*t_result_data);
960965
#else
961966
unsigned char *t_data;
962-
t_data = (unsigned char *)ep . getsvalue() . getstring();
967+
t_data = (unsigned char *)MCDataGetBytePtr(*t_result_data);
963968
#endif
964969
int t_length;
965-
t_length = ep . getsvalue() . getlength();
970+
t_length = MCDataGetLength(*t_result_data);
966971
t_counter_sig = d2i_PKCS7(&t_counter_sig, &t_data, t_length);
967972
if (t_counter_sig == nil)
968973
t_success = MCDeployThrow(kMCDeployErrorBadTimestamp);

engine/src/player.cpp

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5334,28 +5334,28 @@ bool MCQTEffectBegin(Visual_effects p_type, const char *p_name, Visual_effects p
53345334
QTEffect *teffects = MCtemplateplayer->geteffects();
53355335
uint2 tsize = MCtemplateplayer->getneffects();
53365336

5337-
MCString effectname(p_name);
5337+
MCAutoStringRef t_effectname;
5338+
/* UNCHECKED */ MCStringCreateWithCString(p_name, &t_effectname);
53385339
for (i = 0 ; i < tsize; i++)
53395340
{
5340-
if (effectname == teffects[i].token)
5341+
if (MCStringIsEqualToCString(*t_effectname, teffects[i].token, kMCCompareExact))
53415342
{
53425343
qteffect = teffects[i].type;
53435344
break;
53445345
}
53455346
}
5346-
if (!qteffect && effectname.getlength() == 4)
5347+
if (!qteffect && MCStringGetLength(*t_effectname) == 4)
53475348
{
53485349
memcpy(&qteffect, p_name, sizeof(OSType));
53495350
qteffect = EndianU32_NtoB(qteffect);
53505351
}
53515352
else
53525353
{
5353-
MCExecPoint ep;
5354-
ep.setsvalue(effectname);
5355-
MCU_base64decode(ep);
5356-
if (ep.getsvalue().getlength() > 8)
5354+
MCAutoDataRef t_data;
5355+
MCU_base64decode(*t_effectname, &t_data);
5356+
if (MCDataGetLength(*t_data) > 8)
53575357
{
5358-
const char *dataptr = ep.getsvalue().getstring();
5358+
const char *dataptr = (const char*)MCDataGetBytePtr(*t_data);
53595359
long *aLong = (long *)dataptr;
53605360
long datasize = EndianU32_BtoN(aLong[0]) - (sizeof(long)*2);
53615361
OSType ostype = EndianU32_BtoN(aLong[1]);

engine/src/util.cpp

Lines changed: 4 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2148,26 +2148,16 @@ void MCU_fix_path(MCStringRef in, MCStringRef& r_out)
21482148

21492149
bool MCFiltersBase64Encode(MCDataRef p_src, MCStringRef& r_dst);
21502150

2151-
void MCU_base64encode(MCExecPoint &ep)
2151+
void MCU_base64encode(MCDataRef in, MCStringRef &out)
21522152
{
2153-
MCAutoDataRef t_source;
2154-
/* UNCHECKED */ ep . copyasdataref(&t_source);
2155-
2156-
MCAutoStringRef t_result;
2157-
/* UNCHECKED */ MCFiltersBase64Encode(*t_source, &t_result);
2158-
/* UNCHECKED */ ep.setvalueref(*t_result);
2153+
/* UNCHECKED */ MCFiltersBase64Encode(in, out);
21592154
}
21602155

21612156
bool MCFiltersBase64Decode(MCStringRef p_src, MCDataRef& r_dst);
21622157

2163-
void MCU_base64decode(MCExecPoint &ep)
2158+
void MCU_base64decode(MCStringRef in, MCDataRef &out)
21642159
{
2165-
MCAutoStringRef t_source;
2166-
/* UNCHECKED */ ep . copyasstringref(&t_source);
2167-
2168-
MCAutoDataRef t_result;
2169-
/* UNCHECKED */ MCFiltersBase64Decode(*t_source, &t_result);
2170-
/* UNCHECKED */ ep.setvalueref(*t_result);
2160+
/* UNCHECKED */ MCFiltersBase64Decode(in, out);
21712161
}
21722162

21732163
bool MCFiltersUrlEncode(MCStringRef p_source, MCStringRef& r_result);

engine/src/util.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -157,8 +157,8 @@ extern Exec_stat MCU_dofrontscripts(Handler_type htype, MCNameRef message, MCPar
157157
//extern bool MCU_path2native(MCStringRef p_path, MCStringRef& r_native_path);
158158
//extern void MCU_path2native(char *dptr);
159159
extern void MCU_fix_path(MCStringRef in, MCStringRef& r_out);
160-
extern void MCU_base64encode(MCExecPoint &ep);
161-
extern void MCU_base64decode(MCExecPoint &ep);
160+
extern void MCU_base64encode(MCDataRef in, MCStringRef &out);
161+
extern void MCU_base64decode(MCStringRef in, MCDataRef &out);
162162
extern void MCU_urlencode(MCExecPoint &ep);
163163
extern void MCU_urldecode(MCExecPoint &ep);
164164
extern Boolean MCU_freeinserted(MCObjectList *&l);

0 commit comments

Comments
 (0)