From 70042db65c8d8ada267826e823a5465631aac619 Mon Sep 17 00:00:00 2001 From: Gluzskiy Alexandr Date: Sat, 19 Mar 2011 01:05:07 +0200 Subject: modified: new_gpg.vcxproj modified: utilities.cpp --- utilities.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'utilities.cpp') diff --git a/utilities.cpp b/utilities.cpp index 115c2bf..2248cf0 100644 --- a/utilities.cpp +++ b/utilities.cpp @@ -272,9 +272,12 @@ int OnPreBuildContactMenu(WPARAM w, LPARAM l) list transfers; +extern bool bFileTransfers; int onProtoAck(WPARAM w, LPARAM l) { + if(!bFileTransfers) + return 0; ACKDATA *ack=(ACKDATA*)l; CCSDATA *ccs=(CCSDATA*)ack->lParam; if (ack->type!=ACKTYPE_FILE) @@ -351,10 +354,11 @@ int onProtoAck(WPARAM w, LPARAM l) return 0; } - //from secureim partially int onSendFile(WPARAM w, LPARAM l) { + if(!bFileTransfers) + return 0; CCSDATA *ccs=(CCSDATA*)l; if(isContactSecured(ccs->hContact)) { @@ -430,8 +434,8 @@ int onSendFile(WPARAM w, LPARAM l) } } } - mir_free(file[i]); - file[i]=mir_wstrdup(path_out.c_str()); +// mir_free(file[i]); + file[i]=mir_tstrdup(path_out.c_str()); delete [] file_out; transfers.push_back(path_out); } -- cgit v1.2.3 From 9b7140c620713d8d004fb2fc62f2cd296d0bc63b Mon Sep 17 00:00:00 2001 From: Gluzskiy Alexandr Date: Sat, 19 Mar 2011 01:24:08 +0200 Subject: modified: utilities.cpp --- utilities.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'utilities.cpp') diff --git a/utilities.cpp b/utilities.cpp index 2248cf0..827f131 100644 --- a/utilities.cpp +++ b/utilities.cpp @@ -434,7 +434,7 @@ int onSendFile(WPARAM w, LPARAM l) } } } -// mir_free(file[i]); + mir_free(file[i]); file[i]=mir_tstrdup(path_out.c_str()); delete [] file_out; transfers.push_back(path_out); -- cgit v1.2.3 From daf49522c35a7ff62c081dd8f87d35455037a0c0 Mon Sep 17 00:00:00 2001 From: Gluzskiy Alexandr Date: Sat, 19 Mar 2011 12:00:23 +0200 Subject: modified: new_gpg.vcxproj modified: utilities.cpp --- utilities.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'utilities.cpp') diff --git a/utilities.cpp b/utilities.cpp index 827f131..dd2ee41 100644 --- a/utilities.cpp +++ b/utilities.cpp @@ -357,9 +357,9 @@ int onProtoAck(WPARAM w, LPARAM l) //from secureim partially int onSendFile(WPARAM w, LPARAM l) { - if(!bFileTransfers) - return 0; CCSDATA *ccs=(CCSDATA*)l; + if(!bFileTransfers) + return CallService(ccs->szProtoService, w, l); if(isContactSecured(ccs->hContact)) { TCHAR **file=(TCHAR **)ccs->lParam; -- cgit v1.2.3 From 8b8fad30944818114c9f490f6118f80b2d30bc11 Mon Sep 17 00:00:00 2001 From: Gluzskiy Alexandr Date: Mon, 21 Mar 2011 00:01:07 +0200 Subject: modified: utilities.cpp --- utilities.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'utilities.cpp') diff --git a/utilities.cpp b/utilities.cpp index dd2ee41..cf909d2 100644 --- a/utilities.cpp +++ b/utilities.cpp @@ -359,7 +359,7 @@ int onSendFile(WPARAM w, LPARAM l) { CCSDATA *ccs=(CCSDATA*)l; if(!bFileTransfers) - return CallService(ccs->szProtoService, w, l); + return CallService(MS_PROTO_CHAINSEND, w, l); if(isContactSecured(ccs->hContact)) { TCHAR **file=(TCHAR **)ccs->lParam; @@ -440,7 +440,7 @@ int onSendFile(WPARAM w, LPARAM l) transfers.push_back(path_out); } } - return CallService(ccs->szProtoService, w, l); + return CallService(MS_PROTO_CHAINSEND, w, l); } void storeOutput(HANDLE ahandle, string *output) -- cgit v1.2.3 From 168e017640c0e16b513ee241213bec0758f42862 Mon Sep 17 00:00:00 2001 From: Gluzskiy Alexandr Date: Mon, 21 Mar 2011 00:12:19 +0200 Subject: modified: utilities.cpp --- utilities.cpp | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) (limited to 'utilities.cpp') diff --git a/utilities.cpp b/utilities.cpp index cf909d2..e14cfc0 100644 --- a/utilities.cpp +++ b/utilities.cpp @@ -295,19 +295,21 @@ int onProtoAck(WPARAM w, LPARAM l) case ACKRESULT_SUCCESS: { TCHAR *filename = NULL; -// if(f->szCurrentFile && f->szCurrentFile[0]) -// filename = mir_utf8decodeW(f->szCurrentFile); - if(f->tszCurrentFile && f->tszCurrentFile[0]) - filename = mir_wstrdup(f->tszCurrentFile); - if(!filename) - break; - TCHAR *temp = _wgetenv(_T("TEMP")); - if(_tcsstr(filename, temp)) + if(f->flags & PFTS_UNICODE) { - mir_free(filename); - break; + if(f->tszCurrentFile && f->tszCurrentFile[0]) + filename = mir_wstrdup(f->tszCurrentFile); + if(!filename) + return 0; + } + else + { + if(f->szCurrentFile && f->szCurrentFile[0]) + filename = mir_utf8decodeT(f->szCurrentFile); + if(!filename) + return 0; } - else if(_tcsstr(filename, _T(".gpg"))) //decrypt it + if(_tcsstr(filename, _T(".gpg"))) //decrypt it { //process encrypted file if(_waccess(f->tszCurrentFile, 0) == -1) { -- cgit v1.2.3 From ed8a4f7a485a222ebdf30aa6fd2e7c2344ec27f0 Mon Sep 17 00:00:00 2001 From: Gluzskiy Alexandr Date: Mon, 21 Mar 2011 01:47:46 +0200 Subject: modified: utilities.cpp --- utilities.cpp | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) (limited to 'utilities.cpp') diff --git a/utilities.cpp b/utilities.cpp index e14cfc0..82a30bf 100644 --- a/utilities.cpp +++ b/utilities.cpp @@ -359,9 +359,9 @@ int onProtoAck(WPARAM w, LPARAM l) //from secureim partially int onSendFile(WPARAM w, LPARAM l) { - CCSDATA *ccs=(CCSDATA*)l; if(!bFileTransfers) return CallService(MS_PROTO_CHAINSEND, w, l); + CCSDATA *ccs=(CCSDATA*)l; if(isContactSecured(ccs->hContact)) { TCHAR **file=(TCHAR **)ccs->lParam; @@ -370,6 +370,9 @@ int onSendFile(WPARAM w, LPARAM l) { if (_tcsstr(file[i],_T(".gpg"))) continue; + if(_waccess(file[i], 0) == -1) + if(errno == ENOENT) + return 0; //we do not want to send file unencrypted (sometimes ack have wrong info) TCHAR *name = _tcsrchr(file[i],_T('\\')); if( !name ) name = file[i]; @@ -389,7 +392,7 @@ int onSendFile(WPARAM w, LPARAM l) mir_free(szKeyid); mir_free(keyid); cmd += _T(" -o \""); - TCHAR *temp = _wgetenv(_T("TEMP")); + TCHAR *temp = _tgetenv(_T("TEMP")); cmd += temp; cmd += _T("\\"); cmd += file_out; @@ -436,8 +439,10 @@ int onSendFile(WPARAM w, LPARAM l) } } } - mir_free(file[i]); - file[i]=mir_tstrdup(path_out.c_str()); +// mir_free(file[i]); +// file[i] = mir_tstrdup(path_out.c_str()); + mir_realloc(file[i], path_out.length()*sizeof(TCHAR)+1); + _tcscpy(file[i], path_out.c_str()); delete [] file_out; transfers.push_back(path_out); } -- cgit v1.2.3 From 31b78ae77e9dba2afbb2979c7b84631e03869398 Mon Sep 17 00:00:00 2001 From: Gluzskiy Alexandr Date: Tue, 22 Mar 2011 01:22:10 +0200 Subject: fixed toUTF8 fuction crash //thx iexploe --- utilities.cpp | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) (limited to 'utilities.cpp') diff --git a/utilities.cpp b/utilities.cpp index 82a30bf..0ba8e12 100644 --- a/utilities.cpp +++ b/utilities.cpp @@ -975,20 +975,10 @@ int returnNoError(HANDLE hContact) { string toUTF8(wstring str) { string ustr; - wstring tmpstr; - utf8::replace_invalid(str.begin(), str.end(), back_inserter(tmpstr)); - utf8::utf16to8(tmpstr.begin(), tmpstr.end(), back_inserter(ustr)); + utf8::utf16to8(str.begin(), str.end(), back_inserter(ustr)); return ustr; } -string toUTF8(string str) -{ - string ustr; - wstring tmpstr; - utf8::replace_invalid(str.begin(), str.end(), back_inserter(tmpstr)); - utf8::utf16to8(tmpstr.begin(), tmpstr.end(), back_inserter(ustr)); - return ustr; -} wstring toUTF16(string str) //convert as much as possible -- cgit v1.2.3