From boxbackup-dev at fluffy.co.uk Sat Sep 2 11:44:31 2006 From: boxbackup-dev at fluffy.co.uk (boxbackup-dev at fluffy.co.uk) Date: Sat, 02 Sep 2006 10:44:31 -0000 Subject: [Box Backup-commit] =?utf-8?q?Re=3A_=233=3A_Merge_Win32_branch?= In-Reply-To: <075.1b7d6133054ee2a6460aa460f0db838a@fluffy.co.uk> References: <075.1b7d6133054ee2a6460aa460f0db838a@fluffy.co.uk> Message-ID: <084.b9457aa0a84b62c997ae8c64d5fd61fe@fluffy.co.uk> --===============1882531963== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 IzM6IE1lcmdlIFdpbjMyIGJyYW5jaA0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KICBSZXBvcnRlcjog IGNocmlzICAgICB8ICAgICAgIE93bmVyOiAgY2hyaXMgICAgICAgICAgICAgDQogICAgICBUeXBl OiAgdGFzayAgICAgIHwgICAgICBTdGF0dXM6ICBuZXcgICAgICAgICAgICAgICANCiAgUHJpb3Jp dHk6ICBub3JtYWwgICAgfCAgIE1pbGVzdG9uZTogIDAuMTEgICAgICAgICAgICAgIA0KIENvbXBv bmVudDogIGJiYWNrdXBkICB8ICAgICBWZXJzaW9uOiAgdHJ1bmsgICAgICAgICAgICAgDQpSZXNv bHV0aW9uOiAgICAgICAgICAgIHwgICAgS2V5d29yZHM6ICB3aW4zMiBtZXJnZSBicmFuY2gNCi0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0NCkNvbW1lbnQgKGJ5IGNocmlzKToNCg0KIChJbiBbOTI3XSkgKHJl ZnMgIzMpDQoNCiBDb252ZXJ0IFVOSVggcGF0aHMgdG8gbmF0aXZlIG9uIFdpbjMyIChhdm9pZHMg I2lmZGVmcyBpbiB0ZXN0cykNCg0KLS0gDQpUaWNrZXQgVVJMOiA8aHR0cDovL2JiZGV2LmZsdWZm eS5jby51ay90cmFjL3RpY2tldC8zPg0KQm94IEJhY2t1cCA8aHR0cDovL3d3dy5mbHVmZnkuY28u dWsvYm94YmFja3VwLz4NCkFuIG9wZW4gc291cmNlLCBjb21wbGV0ZWx5IGF1dG9tYXRpYyBvbi1s aW5lIGJhY2t1cCBzeXN0ZW0gZm9yIFVOSVgu --===============1882531963==-- From subversion at fluffy.co.uk Sat Sep 2 11:44:29 2006 From: subversion at fluffy.co.uk (subversion at fluffy.co.uk) Date: Sat, 02 Sep 2006 11:44:29 +0100 Subject: [Box Backup-commit] COMMIT r927 - box/chris/merge/lib/common Message-ID: Author: chris Date: 2006-09-02 11:44:29 +0100 (Sat, 02 Sep 2006) New Revision: 927 Modified: box/chris/merge/lib/common/Test.h Log: (refs #3) Convert UNIX paths to native on Win32 (avoids #ifdefs in tests) Modified: box/chris/merge/lib/common/Test.h =================================================================== --- box/chris/merge/lib/common/Test.h 2006-09-01 10:20:43 UTC (rev 926) +++ box/chris/merge/lib/common/Test.h 2006-09-02 10:44:29 UTC (rev 927) @@ -79,11 +79,31 @@ return -1; } -inline int LaunchServer(const char *CommandLine, const char *pidFile) +inline int LaunchServer(const char *pCommandLine, const char *pidFile) { - if(::system(CommandLine) != 0) +#ifdef WIN32 + // convert UNIX paths to native + + std::string command; + for (int i = 0; pCommandLine[i] != 0; i++) { - printf("Server: %s\n", CommandLine); + if (pCommandLine[i] == '/') + { + command += '\\'; + } + else + { + command += pCommandLine[i]; + } + } + +#else // !WIN32 + std::string command = pCommandLine; +#endif + + if(::system(command.c_str()) != 0) + { + printf("Server: %s\n", command.c_str()); TEST_FAIL_WITH_MESSAGE("Couldn't start server"); return -1; } @@ -93,7 +113,7 @@ // read pid file if(!TestFileExists(pidFile)) { - printf("Server: %s\n", CommandLine); + printf("Server: %s\n", command.c_str()); TEST_FAIL_WITH_MESSAGE("Server didn't save PID file"); return -1; } @@ -102,7 +122,7 @@ int pid = -1; if(f == NULL || fscanf(f, "%d", &pid) != 1) { - printf("Server: %s (pidfile %s)\n", CommandLine, pidFile); + printf("Server: %s (pidfile %s)\n", command.c_str(), pidFile); TEST_FAIL_WITH_MESSAGE("Couldn't read PID file"); return -1; } From subversion at fluffy.co.uk Sat Sep 2 11:48:10 2006 From: subversion at fluffy.co.uk (subversion at fluffy.co.uk) Date: Sat, 02 Sep 2006 11:48:10 +0100 Subject: [Box Backup-commit] COMMIT r928 - box/chris/merge/test/backupstore Message-ID: Author: chris Date: 2006-09-02 11:48:10 +0100 (Sat, 02 Sep 2006) New Revision: 928 Modified: box/chris/merge/test/backupstore/testbackupstore.cpp Log: (refs #3) Disable tests for memory leaks after killing bbstored on Win32, since it dies forcibly without a chance to write the memory leak file. Initialise Windows sockets on Win32 Add tests for multiply open files on Win32 Modified: box/chris/merge/test/backupstore/testbackupstore.cpp =================================================================== --- box/chris/merge/test/backupstore/testbackupstore.cpp 2006-09-02 10:44:29 UTC (rev 927) +++ box/chris/merge/test/backupstore/testbackupstore.cpp 2006-09-02 10:48:10 UTC (rev 928) @@ -1765,7 +1765,9 @@ TEST_THAT(KillServer(pid)); ::sleep(1); TEST_THAT(!ServerIsAlive(pid)); +#ifndef WIN32 TestRemoteProcessMemLeaks("bbstored.memleaks"); +#endif // Set a new limit on the account -- leave the hard limit high to make sure the target for // freeing space is the soft limit. @@ -1848,7 +1850,10 @@ TEST_THAT(KillServer(pid)); ::sleep(1); TEST_THAT(!ServerIsAlive(pid)); + +#ifndef WIN32 TestRemoteProcessMemLeaks("bbstored.memleaks"); +#endif } return 0; @@ -1860,7 +1865,10 @@ // Create an account for the test client TEST_THAT_ABORTONFAIL(::system("../../bin/bbstoreaccounts/bbstoreaccounts -c testfiles/bbstored.conf create 01234567 0 30000B 40000B") == 0); + +#ifndef WIN32 TestRemoteProcessMemLeaks("bbstoreaccounts.memleaks"); +#endif // First, try logging in without an account having been created... just make sure login fails. int pid = LaunchServer("../../bin/bbstored/bbstored testfiles/bbstored_multi.conf", "testfiles/bbstored.pid"); @@ -1880,15 +1888,63 @@ TEST_THAT(KillServer(pid)); ::sleep(1); TEST_THAT(!ServerIsAlive(pid)); +#ifndef WIN32 TestRemoteProcessMemLeaks("bbstored.memleaks"); +#endif } return 0; } +#ifdef WIN32 +WCHAR* ConvertUtf8ToWideString(const char* pString); +std::string ConvertPathToAbsoluteUnicode(const char *pFileName); +#endif + int test(int argc, const char *argv[]) { +#ifdef WIN32 + // Under win32 we must initialise the Winsock library + // before using sockets + + WSADATA info; + TEST_THAT(WSAStartup(0x0101, &info) != SOCKET_ERROR) + + // this had better work, or bbstored will die when combining diffs + char* file = "foo"; + std::string abs = ConvertPathToAbsoluteUnicode(file); + WCHAR* wfile = ConvertUtf8ToWideString(abs.c_str()); + + DWORD accessRights = FILE_READ_ATTRIBUTES | + FILE_LIST_DIRECTORY | FILE_READ_EA | FILE_WRITE_ATTRIBUTES | + FILE_WRITE_DATA | FILE_WRITE_EA /*| FILE_ALL_ACCESS*/; + DWORD shareMode = FILE_SHARE_READ | FILE_SHARE_WRITE; + + HANDLE h1 = CreateFileW(wfile, accessRights, shareMode, + NULL, OPEN_ALWAYS, FILE_FLAG_BACKUP_SEMANTICS, NULL); + assert(h1 != INVALID_HANDLE_VALUE); + TEST_THAT(h1 != INVALID_HANDLE_VALUE); + + accessRights = FILE_READ_ATTRIBUTES | + FILE_LIST_DIRECTORY | FILE_READ_EA; + + HANDLE h2 = CreateFileW(wfile, accessRights, shareMode, + NULL, OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, NULL); + assert(h2 != INVALID_HANDLE_VALUE); + TEST_THAT(h2 != INVALID_HANDLE_VALUE); + + CloseHandle(h2); + CloseHandle(h1); + + h1 = openfile("foo", O_CREAT | O_RDWR, 0); + TEST_THAT(h1 != INVALID_HANDLE_VALUE); + h2 = openfile("foo", O_RDWR, 0); + TEST_THAT(h2 != INVALID_HANDLE_VALUE); + CloseHandle(h2); + CloseHandle(h1); +#endif + // SSL library SSLLib::Initialise(); From boxbackup-dev at fluffy.co.uk Sat Sep 2 11:48:11 2006 From: boxbackup-dev at fluffy.co.uk (boxbackup-dev at fluffy.co.uk) Date: Sat, 02 Sep 2006 10:48:11 -0000 Subject: [Box Backup-commit] =?utf-8?q?Re=3A_=233=3A_Merge_Win32_branch?= In-Reply-To: <075.1b7d6133054ee2a6460aa460f0db838a@fluffy.co.uk> References: <075.1b7d6133054ee2a6460aa460f0db838a@fluffy.co.uk> Message-ID: <084.8009dd8dbe321291af8d8042ec910204@fluffy.co.uk> --===============0175617489== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 IzM6IE1lcmdlIFdpbjMyIGJyYW5jaA0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KICBSZXBvcnRlcjog IGNocmlzICAgICB8ICAgICAgIE93bmVyOiAgY2hyaXMgICAgICAgICAgICAgDQogICAgICBUeXBl OiAgdGFzayAgICAgIHwgICAgICBTdGF0dXM6ICBuZXcgICAgICAgICAgICAgICANCiAgUHJpb3Jp dHk6ICBub3JtYWwgICAgfCAgIE1pbGVzdG9uZTogIDAuMTEgICAgICAgICAgICAgIA0KIENvbXBv bmVudDogIGJiYWNrdXBkICB8ICAgICBWZXJzaW9uOiAgdHJ1bmsgICAgICAgICAgICAgDQpSZXNv bHV0aW9uOiAgICAgICAgICAgIHwgICAgS2V5d29yZHM6ICB3aW4zMiBtZXJnZSBicmFuY2gNCi0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0NCkNvbW1lbnQgKGJ5IGNocmlzKToNCg0KIChJbiBbOTI4XSkgKHJl ZnMgIzMpDQoNCiBEaXNhYmxlIHRlc3RzIGZvciBtZW1vcnkgbGVha3MgYWZ0ZXIga2lsbGluZyBi YnN0b3JlZCBvbiBXaW4zMiwgc2luY2UNCiBpdCBkaWVzIGZvcmNpYmx5IHdpdGhvdXQgYSBjaGFu Y2UgdG8gd3JpdGUgdGhlIG1lbW9yeSBsZWFrIGZpbGUuDQoNCiBJbml0aWFsaXNlIFdpbmRvd3Mg c29ja2V0cyBvbiBXaW4zMg0KDQogQWRkIHRlc3RzIGZvciBtdWx0aXBseSBvcGVuIGZpbGVzIG9u IFdpbjMyDQoNCi0tIA0KVGlja2V0IFVSTDogPGh0dHA6Ly9iYmRldi5mbHVmZnkuY28udWsvdHJh Yy90aWNrZXQvMz4NCkJveCBCYWNrdXAgPGh0dHA6Ly93d3cuZmx1ZmZ5LmNvLnVrL2JveGJhY2t1 cC8+DQpBbiBvcGVuIHNvdXJjZSwgY29tcGxldGVseSBhdXRvbWF0aWMgb24tbGluZSBiYWNrdXAg c3lzdGVtIGZvciBVTklYLg== --===============0175617489==-- From subversion at fluffy.co.uk Sat Sep 2 11:51:02 2006 From: subversion at fluffy.co.uk (subversion at fluffy.co.uk) Date: Sat, 02 Sep 2006 11:51:02 +0100 Subject: [Box Backup-commit] COMMIT r929 - box/chris/merge/test/backupstorefix/testfiles Message-ID: Author: chris Date: 2006-09-02 11:51:01 +0100 (Sat, 02 Sep 2006) New Revision: 929 Modified: box/chris/merge/test/backupstorefix/testfiles/testbackupstorefix.pl.in Log: Revert to trunk Modified: box/chris/merge/test/backupstorefix/testfiles/testbackupstorefix.pl.in =================================================================== --- box/chris/merge/test/backupstorefix/testfiles/testbackupstorefix.pl.in 2006-09-02 10:48:10 UTC (rev 928) +++ box/chris/merge/test/backupstorefix/testfiles/testbackupstorefix.pl.in 2006-09-02 10:51:01 UTC (rev 929) @@ -54,7 +54,7 @@ open INITIAL,'testfiles/initial-listing.txt' or die "Can't open original listing"; while() { - chomp; s/\r//; + chomp; $expected{$_} = 1; m/\A(.+?) .+? (.+)\Z/; $filenames{$2} = $_; @@ -99,7 +99,7 @@ while() { print LISTING_COPY; - chomp; s/\r//; + chomp; s/\[FILENAME NOT ENCRYPTED\]//; if(exists $expected{$_}) { From subversion at fluffy.co.uk Sat Sep 2 11:51:42 2006 From: subversion at fluffy.co.uk (subversion at fluffy.co.uk) Date: Sat, 02 Sep 2006 11:51:42 +0100 Subject: [Box Backup-commit] COMMIT r930 - box/chris/merge/test/backupstorefix/testfiles Message-ID: Author: chris Date: 2006-09-02 11:51:41 +0100 (Sat, 02 Sep 2006) New Revision: 930 Modified: box/chris/merge/test/backupstorefix/testfiles/testbackupstorefix.pl.in Log: (refs #3) Remove newlines from output to avoid failure to recognise it on Win32 Modified: box/chris/merge/test/backupstorefix/testfiles/testbackupstorefix.pl.in =================================================================== --- box/chris/merge/test/backupstorefix/testfiles/testbackupstorefix.pl.in 2006-09-02 10:51:01 UTC (rev 929) +++ box/chris/merge/test/backupstorefix/testfiles/testbackupstorefix.pl.in 2006-09-02 10:51:41 UTC (rev 930) @@ -54,7 +54,7 @@ open INITIAL,'testfiles/initial-listing.txt' or die "Can't open original listing"; while() { - chomp; + chomp; s/\r//; $expected{$_} = 1; m/\A(.+?) .+? (.+)\Z/; $filenames{$2} = $_; @@ -99,7 +99,7 @@ while() { print LISTING_COPY; - chomp; + chomp; s/\r//; s/\[FILENAME NOT ENCRYPTED\]//; if(exists $expected{$_}) { From boxbackup-dev at fluffy.co.uk Sat Sep 2 11:51:42 2006 From: boxbackup-dev at fluffy.co.uk (boxbackup-dev at fluffy.co.uk) Date: Sat, 02 Sep 2006 10:51:42 -0000 Subject: [Box Backup-commit] =?utf-8?q?Re=3A_=233=3A_Merge_Win32_branch?= In-Reply-To: <075.1b7d6133054ee2a6460aa460f0db838a@fluffy.co.uk> References: <075.1b7d6133054ee2a6460aa460f0db838a@fluffy.co.uk> Message-ID: <084.bbd50af0e389355f0e932a577cb2eb20@fluffy.co.uk> --===============0522791109== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 IzM6IE1lcmdlIFdpbjMyIGJyYW5jaA0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KICBSZXBvcnRlcjog IGNocmlzICAgICB8ICAgICAgIE93bmVyOiAgY2hyaXMgICAgICAgICAgICAgDQogICAgICBUeXBl OiAgdGFzayAgICAgIHwgICAgICBTdGF0dXM6ICBuZXcgICAgICAgICAgICAgICANCiAgUHJpb3Jp dHk6ICBub3JtYWwgICAgfCAgIE1pbGVzdG9uZTogIDAuMTEgICAgICAgICAgICAgIA0KIENvbXBv bmVudDogIGJiYWNrdXBkICB8ICAgICBWZXJzaW9uOiAgdHJ1bmsgICAgICAgICAgICAgDQpSZXNv bHV0aW9uOiAgICAgICAgICAgIHwgICAgS2V5d29yZHM6ICB3aW4zMiBtZXJnZSBicmFuY2gNCi0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0NCkNvbW1lbnQgKGJ5IGNocmlzKToNCg0KIChJbiBbOTMwXSkgKHJl ZnMgIzMpDQoNCiBSZW1vdmUgbmV3bGluZXMgZnJvbSBvdXRwdXQgdG8gYXZvaWQgZmFpbHVyZSB0 byByZWNvZ25pc2UgaXQgb24gV2luMzINCg0KLS0gDQpUaWNrZXQgVVJMOiA8aHR0cDovL2JiZGV2 LmZsdWZmeS5jby51ay90cmFjL3RpY2tldC8zPg0KQm94IEJhY2t1cCA8aHR0cDovL3d3dy5mbHVm ZnkuY28udWsvYm94YmFja3VwLz4NCkFuIG9wZW4gc291cmNlLCBjb21wbGV0ZWx5IGF1dG9tYXRp YyBvbi1saW5lIGJhY2t1cCBzeXN0ZW0gZm9yIFVOSVgu --===============0522791109==-- From subversion at fluffy.co.uk Sat Sep 2 11:56:48 2006 From: subversion at fluffy.co.uk (subversion at fluffy.co.uk) Date: Sat, 02 Sep 2006 11:56:48 +0100 Subject: [Box Backup-commit] COMMIT r931 - box/chris/merge/lib/common Message-ID: Author: chris Date: 2006-09-02 11:56:48 +0100 (Sat, 02 Sep 2006) New Revision: 931 Modified: box/chris/merge/lib/common/Test.h Log: (refs #3) Added a RunCommand() function which converts UNIX paths to native before calling ::system() on Win32. Modified: box/chris/merge/lib/common/Test.h =================================================================== --- box/chris/merge/lib/common/Test.h 2006-09-02 10:51:41 UTC (rev 930) +++ box/chris/merge/lib/common/Test.h 2006-09-02 10:56:48 UTC (rev 931) @@ -79,7 +79,7 @@ return -1; } -inline int LaunchServer(const char *pCommandLine, const char *pidFile) +inline int RunCommand(const char *pCommandLine) { #ifdef WIN32 // convert UNIX paths to native @@ -101,7 +101,12 @@ std::string command = pCommandLine; #endif - if(::system(command.c_str()) != 0) + return ::system(command.c_str()); +} + +inline int LaunchServer(const char *pCommandLine, const char *pidFile) +{ + if(RunCommand(pCommandLine) != 0) { printf("Server: %s\n", command.c_str()); TEST_FAIL_WITH_MESSAGE("Couldn't start server"); From boxbackup-dev at fluffy.co.uk Sat Sep 2 11:56:49 2006 From: boxbackup-dev at fluffy.co.uk (boxbackup-dev at fluffy.co.uk) Date: Sat, 02 Sep 2006 10:56:49 -0000 Subject: [Box Backup-commit] =?utf-8?q?Re=3A_=233=3A_Merge_Win32_branch?= In-Reply-To: <075.1b7d6133054ee2a6460aa460f0db838a@fluffy.co.uk> References: <075.1b7d6133054ee2a6460aa460f0db838a@fluffy.co.uk> Message-ID: <084.da90bf25cf308141e5c807b150c025a9@fluffy.co.uk> --===============1305956383== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 IzM6IE1lcmdlIFdpbjMyIGJyYW5jaA0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KICBSZXBvcnRlcjog IGNocmlzICAgICB8ICAgICAgIE93bmVyOiAgY2hyaXMgICAgICAgICAgICAgDQogICAgICBUeXBl OiAgdGFzayAgICAgIHwgICAgICBTdGF0dXM6ICBuZXcgICAgICAgICAgICAgICANCiAgUHJpb3Jp dHk6ICBub3JtYWwgICAgfCAgIE1pbGVzdG9uZTogIDAuMTEgICAgICAgICAgICAgIA0KIENvbXBv bmVudDogIGJiYWNrdXBkICB8ICAgICBWZXJzaW9uOiAgdHJ1bmsgICAgICAgICAgICAgDQpSZXNv bHV0aW9uOiAgICAgICAgICAgIHwgICAgS2V5d29yZHM6ICB3aW4zMiBtZXJnZSBicmFuY2gNCi0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0NCkNvbW1lbnQgKGJ5IGNocmlzKToNCg0KIChJbiBbOTMxXSkgKHJl ZnMgIzMpDQoNCiBBZGRlZCBhIFJ1bkNvbW1hbmQoKSBmdW5jdGlvbiB3aGljaCBjb252ZXJ0cyBV TklYIHBhdGhzIHRvIG5hdGl2ZSBiZWZvcmUNCiBjYWxsaW5nIDo6c3lzdGVtKCkgb24gV2luMzIu DQoNCi0tIA0KVGlja2V0IFVSTDogPGh0dHA6Ly9iYmRldi5mbHVmZnkuY28udWsvdHJhYy90aWNr ZXQvMz4NCkJveCBCYWNrdXAgPGh0dHA6Ly93d3cuZmx1ZmZ5LmNvLnVrL2JveGJhY2t1cC8+DQpB biBvcGVuIHNvdXJjZSwgY29tcGxldGVseSBhdXRvbWF0aWMgb24tbGluZSBiYWNrdXAgc3lzdGVt IGZvciBVTklYLg== --===============1305956383==-- From subversion at fluffy.co.uk Sat Sep 2 11:57:16 2006 From: subversion at fluffy.co.uk (subversion at fluffy.co.uk) Date: Sat, 02 Sep 2006 11:57:16 +0100 Subject: [Box Backup-commit] COMMIT r932 - box/chris/merge/test/backupstore Message-ID: Author: chris Date: 2006-09-02 11:57:16 +0100 (Sat, 02 Sep 2006) New Revision: 932 Modified: box/chris/merge/test/backupstore/testbackupstore.cpp Log: (refs #3) Call RunCommand() instead of ::system to handle native paths better Modified: box/chris/merge/test/backupstore/testbackupstore.cpp =================================================================== --- box/chris/merge/test/backupstore/testbackupstore.cpp 2006-09-02 10:56:48 UTC (rev 931) +++ box/chris/merge/test/backupstore/testbackupstore.cpp 2006-09-02 10:57:16 UTC (rev 932) @@ -1740,7 +1740,7 @@ } // Create an account for the test client - TEST_THAT_ABORTONFAIL(::system("../../bin/bbstoreaccounts/bbstoreaccounts -c testfiles/bbstored.conf create 01234567 0 10000B 20000B") == 0); + TEST_THAT_ABORTONFAIL(RunCommand("../../bin/bbstoreaccounts/bbstoreaccounts -c testfiles/bbstored.conf create 01234567 0 10000B 20000B") == 0); TestRemoteProcessMemLeaks("bbstoreaccounts.memleaks"); TEST_THAT(TestDirExists("testfiles/0_0/backup/01234567")); TEST_THAT(TestDirExists("testfiles/0_1/backup/01234567")); @@ -1771,7 +1771,7 @@ // Set a new limit on the account -- leave the hard limit high to make sure the target for // freeing space is the soft limit. - TEST_THAT_ABORTONFAIL(::system("../../bin/bbstoreaccounts/bbstoreaccounts -c testfiles/bbstored.conf setlimit 01234567 10B 20000B") == 0); + TEST_THAT_ABORTONFAIL(RunCommand("../../bin/bbstoreaccounts/bbstoreaccounts -c testfiles/bbstored.conf setlimit 01234567 10B 20000B") == 0); TestRemoteProcessMemLeaks("bbstoreaccounts.memleaks"); // Start things up @@ -1800,7 +1800,7 @@ TEST_THAT(after.old == 0); // Set a really small hard limit - TEST_THAT_ABORTONFAIL(::system("../../bin/bbstoreaccounts/bbstoreaccounts -c testfiles/bbstored.conf setlimit 01234567 10B 20B") == 0); + TEST_THAT_ABORTONFAIL(RunCommand("../../bin/bbstoreaccounts/bbstoreaccounts -c testfiles/bbstored.conf setlimit 01234567 10B 20B") == 0); TestRemoteProcessMemLeaks("bbstoreaccounts.memleaks"); // Try to upload a file and create a directory, and check an error is generated @@ -1864,7 +1864,7 @@ printf("Starting server for connection from remote machines...\n"); // Create an account for the test client - TEST_THAT_ABORTONFAIL(::system("../../bin/bbstoreaccounts/bbstoreaccounts -c testfiles/bbstored.conf create 01234567 0 30000B 40000B") == 0); + TEST_THAT_ABORTONFAIL(RunCommand("../../bin/bbstoreaccounts/bbstoreaccounts -c testfiles/bbstored.conf create 01234567 0 30000B 40000B") == 0); #ifndef WIN32 TestRemoteProcessMemLeaks("bbstoreaccounts.memleaks"); From boxbackup-dev at fluffy.co.uk Sat Sep 2 11:57:17 2006 From: boxbackup-dev at fluffy.co.uk (boxbackup-dev at fluffy.co.uk) Date: Sat, 02 Sep 2006 10:57:17 -0000 Subject: [Box Backup-commit] =?utf-8?q?Re=3A_=233=3A_Merge_Win32_branch?= In-Reply-To: <075.1b7d6133054ee2a6460aa460f0db838a@fluffy.co.uk> References: <075.1b7d6133054ee2a6460aa460f0db838a@fluffy.co.uk> Message-ID: <084.80602588076eb11f7fc09faf8b70a119@fluffy.co.uk> --===============0740242265== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 IzM6IE1lcmdlIFdpbjMyIGJyYW5jaA0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KICBSZXBvcnRlcjog IGNocmlzICAgICB8ICAgICAgIE93bmVyOiAgY2hyaXMgICAgICAgICAgICAgDQogICAgICBUeXBl OiAgdGFzayAgICAgIHwgICAgICBTdGF0dXM6ICBuZXcgICAgICAgICAgICAgICANCiAgUHJpb3Jp dHk6ICBub3JtYWwgICAgfCAgIE1pbGVzdG9uZTogIDAuMTEgICAgICAgICAgICAgIA0KIENvbXBv bmVudDogIGJiYWNrdXBkICB8ICAgICBWZXJzaW9uOiAgdHJ1bmsgICAgICAgICAgICAgDQpSZXNv bHV0aW9uOiAgICAgICAgICAgIHwgICAgS2V5d29yZHM6ICB3aW4zMiBtZXJnZSBicmFuY2gNCi0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0NCkNvbW1lbnQgKGJ5IGNocmlzKToNCg0KIChJbiBbOTMyXSkgKHJl ZnMgIzMpDQoNCiBDYWxsIFJ1bkNvbW1hbmQoKSBpbnN0ZWFkIG9mIDo6c3lzdGVtIHRvIGhhbmRs ZSBuYXRpdmUgcGF0aHMgYmV0dGVyDQoNCi0tIA0KVGlja2V0IFVSTDogPGh0dHA6Ly9iYmRldi5m bHVmZnkuY28udWsvdHJhYy90aWNrZXQvMz4NCkJveCBCYWNrdXAgPGh0dHA6Ly93d3cuZmx1ZmZ5 LmNvLnVrL2JveGJhY2t1cC8+DQpBbiBvcGVuIHNvdXJjZSwgY29tcGxldGVseSBhdXRvbWF0aWMg b24tbGluZSBiYWNrdXAgc3lzdGVtIGZvciBVTklYLg== --===============0740242265==-- From subversion at fluffy.co.uk Sat Sep 2 12:01:07 2006 From: subversion at fluffy.co.uk (subversion at fluffy.co.uk) Date: Sat, 02 Sep 2006 12:01:07 +0100 Subject: [Box Backup-commit] COMMIT r933 - box/chris/merge/test/backupstorepatch Message-ID: Author: chris Date: 2006-09-02 12:01:07 +0100 (Sat, 02 Sep 2006) New Revision: 933 Modified: box/chris/merge/test/backupstorepatch/testbackupstorepatch.cpp Log: Revert to trunk Modified: box/chris/merge/test/backupstorepatch/testbackupstorepatch.cpp =================================================================== --- box/chris/merge/test/backupstorepatch/testbackupstorepatch.cpp 2006-09-02 10:57:16 UTC (rev 932) +++ box/chris/merge/test/backupstorepatch/testbackupstorepatch.cpp 2006-09-02 11:01:07 UTC (rev 933) @@ -283,14 +283,6 @@ int test(int argc, const char *argv[]) { -#ifdef WIN32 - // Under win32 we must initialise the Winsock library - // before using sockets - - WSADATA info; - TEST_THAT(WSAStartup(0x0101, &info) != SOCKET_ERROR) -#endif - // Allocate a buffer buffer = ::malloc(BUFFER_SIZE); TEST_THAT(buffer != 0); @@ -317,12 +309,8 @@ "testfiles/clientTrustedCAs.pem"); // Create an account -#ifdef WIN32 - TEST_THAT_ABORTONFAIL(::system("..\\..\\bin\\bbstoreaccounts\\bbstoreaccounts -c testfiles/bbstored.conf create 01234567 0 30000B 40000B") == 0); -#else TEST_THAT_ABORTONFAIL(::system("../../bin/bbstoreaccounts/bbstoreaccounts -c testfiles/bbstored.conf create 01234567 0 30000B 40000B") == 0); TestRemoteProcessMemLeaks("bbstoreaccounts.memleaks"); -#endif // Create test files create_test_files(); @@ -331,12 +319,7 @@ test_depends_in_dirs(); // First, try logging in without an account having been created... just make sure login fails. -#ifdef WIN32 - int pid = LaunchServer("..\\..\\bin\\bbstored\\bbstored testfiles/bbstored.conf", "testfiles/bbstored.pid"); -#else int pid = LaunchServer("../../bin/bbstored/bbstored testfiles/bbstored.conf", "testfiles/bbstored.pid"); -#endif - TEST_THAT(pid != -1 && pid != 0); if(pid > 0) { @@ -414,13 +397,7 @@ // Store details test_files[f].IDOnServer = stored->GetObjectID(); test_files[f].IsCompletelyDifferent = isCompletelyDifferent; - -#ifdef WIN32 - printf("ID %I64d, completely different: %s\n", -#else - printf("ID %lld, completely different: %s\n", -#endif - test_files[f].IDOnServer, + printf("ID %lld, completely different: %s\n", test_files[f].IDOnServer, test_files[f].IsCompletelyDifferent?"yes":"no"); } else @@ -588,14 +565,9 @@ writedir.Commit(true); } -#ifdef WIN32 - wait_for_operation(12); -#else - // Send the server a restart signal, so it does housekeeping immediately, and wait for it to happen + // Send the server a restart signal, so it does housekeeping immedaitely, and wait for it to happen ::sleep(1); // wait for old connections to terminate ::kill(pid, SIGHUP); -#endif - // Get the revision number of the info file int64_t first_revision = 0; RaidFileRead::FileExists(0, "backup/01234567/o01", &first_revision); @@ -639,10 +611,7 @@ // Kill store server TEST_THAT(KillServer(pid)); TEST_THAT(!ServerIsAlive(pid)); - - #ifndef WIN32 TestRemoteProcessMemLeaks("bbstored.memleaks"); - #endif } ::free(buffer); From subversion at fluffy.co.uk Sat Sep 2 12:02:44 2006 From: subversion at fluffy.co.uk (subversion at fluffy.co.uk) Date: Sat, 02 Sep 2006 12:02:44 +0100 Subject: [Box Backup-commit] COMMIT r934 - box/chris/merge/test/backupstorepatch Message-ID: Author: chris Date: 2006-09-02 12:02:44 +0100 (Sat, 02 Sep 2006) New Revision: 934 Modified: box/chris/merge/test/backupstorepatch/testbackupstorepatch.cpp Log: (refs #3) Initialise Windows sockets on Win32 Modified: box/chris/merge/test/backupstorepatch/testbackupstorepatch.cpp =================================================================== --- box/chris/merge/test/backupstorepatch/testbackupstorepatch.cpp 2006-09-02 11:01:07 UTC (rev 933) +++ box/chris/merge/test/backupstorepatch/testbackupstorepatch.cpp 2006-09-02 11:02:44 UTC (rev 934) @@ -283,6 +283,14 @@ int test(int argc, const char *argv[]) { +#ifdef WIN32 + // Under win32 we must initialise the Winsock library + // before using sockets + + WSADATA info; + TEST_THAT(WSAStartup(0x0101, &info) != SOCKET_ERROR) +#endif + // Allocate a buffer buffer = ::malloc(BUFFER_SIZE); TEST_THAT(buffer != 0); From boxbackup-dev at fluffy.co.uk Sat Sep 2 12:02:45 2006 From: boxbackup-dev at fluffy.co.uk (boxbackup-dev at fluffy.co.uk) Date: Sat, 02 Sep 2006 11:02:45 -0000 Subject: [Box Backup-commit] =?utf-8?q?Re=3A_=233=3A_Merge_Win32_branch?= In-Reply-To: <075.1b7d6133054ee2a6460aa460f0db838a@fluffy.co.uk> References: <075.1b7d6133054ee2a6460aa460f0db838a@fluffy.co.uk> Message-ID: <084.d61bf779f144ec8a822fd4e37e4e6333@fluffy.co.uk> --===============1341258792== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 IzM6IE1lcmdlIFdpbjMyIGJyYW5jaA0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KICBSZXBvcnRlcjog IGNocmlzICAgICB8ICAgICAgIE93bmVyOiAgY2hyaXMgICAgICAgICAgICAgDQogICAgICBUeXBl OiAgdGFzayAgICAgIHwgICAgICBTdGF0dXM6ICBuZXcgICAgICAgICAgICAgICANCiAgUHJpb3Jp dHk6ICBub3JtYWwgICAgfCAgIE1pbGVzdG9uZTogIDAuMTEgICAgICAgICAgICAgIA0KIENvbXBv bmVudDogIGJiYWNrdXBkICB8ICAgICBWZXJzaW9uOiAgdHJ1bmsgICAgICAgICAgICAgDQpSZXNv bHV0aW9uOiAgICAgICAgICAgIHwgICAgS2V5d29yZHM6ICB3aW4zMiBtZXJnZSBicmFuY2gNCi0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0NCkNvbW1lbnQgKGJ5IGNocmlzKToNCg0KIChJbiBbOTM0XSkgKHJl ZnMgIzMpDQoNCiBJbml0aWFsaXNlIFdpbmRvd3Mgc29ja2V0cyBvbiBXaW4zMg0KDQotLSANClRp Y2tldCBVUkw6IDxodHRwOi8vYmJkZXYuZmx1ZmZ5LmNvLnVrL3RyYWMvdGlja2V0LzM+DQpCb3gg QmFja3VwIDxodHRwOi8vd3d3LmZsdWZmeS5jby51ay9ib3hiYWNrdXAvPg0KQW4gb3BlbiBzb3Vy Y2UsIGNvbXBsZXRlbHkgYXV0b21hdGljIG9uLWxpbmUgYmFja3VwIHN5c3RlbSBmb3IgVU5JWC4= --===============1341258792==-- From subversion at fluffy.co.uk Sat Sep 2 12:03:48 2006 From: subversion at fluffy.co.uk (subversion at fluffy.co.uk) Date: Sat, 02 Sep 2006 12:03:48 +0100 Subject: [Box Backup-commit] COMMIT r935 - box/chris/merge/test/backupstorepatch Message-ID: Author: chris Date: 2006-09-02 12:03:48 +0100 (Sat, 02 Sep 2006) New Revision: 935 Modified: box/chris/merge/test/backupstorepatch/testbackupstorepatch.cpp Log: (refs #3) Fix format strings on Win32 Modified: box/chris/merge/test/backupstorepatch/testbackupstorepatch.cpp =================================================================== --- box/chris/merge/test/backupstorepatch/testbackupstorepatch.cpp 2006-09-02 11:02:44 UTC (rev 934) +++ box/chris/merge/test/backupstorepatch/testbackupstorepatch.cpp 2006-09-02 11:03:48 UTC (rev 935) @@ -405,7 +405,13 @@ // Store details test_files[f].IDOnServer = stored->GetObjectID(); test_files[f].IsCompletelyDifferent = isCompletelyDifferent; - printf("ID %lld, completely different: %s\n", test_files[f].IDOnServer, + +#ifdef WIN32 + printf("ID %I64d, completely different: %s\n", +#else + printf("ID %lld, completely different: %s\n", +#endif + test_files[f].IDOnServer, test_files[f].IsCompletelyDifferent?"yes":"no"); } else From boxbackup-dev at fluffy.co.uk Sat Sep 2 12:03:49 2006 From: boxbackup-dev at fluffy.co.uk (boxbackup-dev at fluffy.co.uk) Date: Sat, 02 Sep 2006 11:03:49 -0000 Subject: [Box Backup-commit] =?utf-8?q?Re=3A_=233=3A_Merge_Win32_branch?= In-Reply-To: <075.1b7d6133054ee2a6460aa460f0db838a@fluffy.co.uk> References: <075.1b7d6133054ee2a6460aa460f0db838a@fluffy.co.uk> Message-ID: <084.745d52123073110688197b1978da3047@fluffy.co.uk> --===============1238080803== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 IzM6IE1lcmdlIFdpbjMyIGJyYW5jaA0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KICBSZXBvcnRlcjog IGNocmlzICAgICB8ICAgICAgIE93bmVyOiAgY2hyaXMgICAgICAgICAgICAgDQogICAgICBUeXBl OiAgdGFzayAgICAgIHwgICAgICBTdGF0dXM6ICBuZXcgICAgICAgICAgICAgICANCiAgUHJpb3Jp dHk6ICBub3JtYWwgICAgfCAgIE1pbGVzdG9uZTogIDAuMTEgICAgICAgICAgICAgIA0KIENvbXBv bmVudDogIGJiYWNrdXBkICB8ICAgICBWZXJzaW9uOiAgdHJ1bmsgICAgICAgICAgICAgDQpSZXNv bHV0aW9uOiAgICAgICAgICAgIHwgICAgS2V5d29yZHM6ICB3aW4zMiBtZXJnZSBicmFuY2gNCi0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0NCkNvbW1lbnQgKGJ5IGNocmlzKToNCg0KIChJbiBbOTM1XSkgKHJl ZnMgIzMpDQoNCiBGaXggZm9ybWF0IHN0cmluZ3Mgb24gV2luMzINCg0KLS0gDQpUaWNrZXQgVVJM OiA8aHR0cDovL2JiZGV2LmZsdWZmeS5jby51ay90cmFjL3RpY2tldC8zPg0KQm94IEJhY2t1cCA8 aHR0cDovL3d3dy5mbHVmZnkuY28udWsvYm94YmFja3VwLz4NCkFuIG9wZW4gc291cmNlLCBjb21w bGV0ZWx5IGF1dG9tYXRpYyBvbi1saW5lIGJhY2t1cCBzeXN0ZW0gZm9yIFVOSVgu --===============1238080803==-- From subversion at fluffy.co.uk Sat Sep 2 12:06:13 2006 From: subversion at fluffy.co.uk (subversion at fluffy.co.uk) Date: Sat, 02 Sep 2006 12:06:13 +0100 Subject: [Box Backup-commit] COMMIT r936 - box/chris/merge/test/backupstorepatch Message-ID: Author: chris Date: 2006-09-02 12:06:13 +0100 (Sat, 02 Sep 2006) New Revision: 936 Modified: box/chris/merge/test/backupstorepatch/testbackupstorepatch.cpp Log: (refs #3) Cannot signal bbstored to housekeep immediately on Win32, so just wait for it to happen. Modified: box/chris/merge/test/backupstorepatch/testbackupstorepatch.cpp =================================================================== --- box/chris/merge/test/backupstorepatch/testbackupstorepatch.cpp 2006-09-02 11:03:48 UTC (rev 935) +++ box/chris/merge/test/backupstorepatch/testbackupstorepatch.cpp 2006-09-02 11:06:13 UTC (rev 936) @@ -579,9 +579,18 @@ writedir.Commit(true); } - // Send the server a restart signal, so it does housekeeping immedaitely, and wait for it to happen - ::sleep(1); // wait for old connections to terminate +#ifdef WIN32 + // Cannot signal bbstored to do housekeeping now, + // so just wait until we're sure it's done + wait_for_operation(12); +#else + // Send the server a restart signal, so it does + // housekeeping immediately, and wait for it to happen + // Wait for old connections to terminate + ::sleep(1); ::kill(pid, SIGHUP); +#endif + // Get the revision number of the info file int64_t first_revision = 0; RaidFileRead::FileExists(0, "backup/01234567/o01", &first_revision); From boxbackup-dev at fluffy.co.uk Sat Sep 2 12:06:14 2006 From: boxbackup-dev at fluffy.co.uk (boxbackup-dev at fluffy.co.uk) Date: Sat, 02 Sep 2006 11:06:14 -0000 Subject: [Box Backup-commit] =?utf-8?q?Re=3A_=233=3A_Merge_Win32_branch?= In-Reply-To: <075.1b7d6133054ee2a6460aa460f0db838a@fluffy.co.uk> References: <075.1b7d6133054ee2a6460aa460f0db838a@fluffy.co.uk> Message-ID: <084.49af8cde409d269d432ea074477bf8e1@fluffy.co.uk> --===============1632767337== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 IzM6IE1lcmdlIFdpbjMyIGJyYW5jaA0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KICBSZXBvcnRlcjog IGNocmlzICAgICB8ICAgICAgIE93bmVyOiAgY2hyaXMgICAgICAgICAgICAgDQogICAgICBUeXBl OiAgdGFzayAgICAgIHwgICAgICBTdGF0dXM6ICBuZXcgICAgICAgICAgICAgICANCiAgUHJpb3Jp dHk6ICBub3JtYWwgICAgfCAgIE1pbGVzdG9uZTogIDAuMTEgICAgICAgICAgICAgIA0KIENvbXBv bmVudDogIGJiYWNrdXBkICB8ICAgICBWZXJzaW9uOiAgdHJ1bmsgICAgICAgICAgICAgDQpSZXNv bHV0aW9uOiAgICAgICAgICAgIHwgICAgS2V5d29yZHM6ICB3aW4zMiBtZXJnZSBicmFuY2gNCi0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0NCkNvbW1lbnQgKGJ5IGNocmlzKToNCg0KIChJbiBbOTM2XSkgKHJl ZnMgIzMpDQoNCiBDYW5ub3Qgc2lnbmFsIGJic3RvcmVkIHRvIGhvdXNla2VlcCBpbW1lZGlhdGVs eSBvbiBXaW4zMiwgc28ganVzdCB3YWl0DQogZm9yIGl0IHRvIGhhcHBlbi4NCg0KLS0gDQpUaWNr ZXQgVVJMOiA8aHR0cDovL2JiZGV2LmZsdWZmeS5jby51ay90cmFjL3RpY2tldC8zPg0KQm94IEJh Y2t1cCA8aHR0cDovL3d3dy5mbHVmZnkuY28udWsvYm94YmFja3VwLz4NCkFuIG9wZW4gc291cmNl LCBjb21wbGV0ZWx5IGF1dG9tYXRpYyBvbi1saW5lIGJhY2t1cCBzeXN0ZW0gZm9yIFVOSVgu --===============1632767337==-- From subversion at fluffy.co.uk Sat Sep 2 12:07:17 2006 From: subversion at fluffy.co.uk (subversion at fluffy.co.uk) Date: Sat, 02 Sep 2006 12:07:17 +0100 Subject: [Box Backup-commit] COMMIT r937 - box/chris/merge/test/backupstorepatch Message-ID: Author: chris Date: 2006-09-02 12:07:17 +0100 (Sat, 02 Sep 2006) New Revision: 937 Modified: box/chris/merge/test/backupstorepatch/testbackupstorepatch.cpp Log: (refs #3) Don't check for memory leaks on Win32, since the process is force killed and doesn't have a chance to write the log file. Modified: box/chris/merge/test/backupstorepatch/testbackupstorepatch.cpp =================================================================== --- box/chris/merge/test/backupstorepatch/testbackupstorepatch.cpp 2006-09-02 11:06:13 UTC (rev 936) +++ box/chris/merge/test/backupstorepatch/testbackupstorepatch.cpp 2006-09-02 11:07:17 UTC (rev 937) @@ -634,7 +634,10 @@ // Kill store server TEST_THAT(KillServer(pid)); TEST_THAT(!ServerIsAlive(pid)); + + #ifndef WIN32 TestRemoteProcessMemLeaks("bbstored.memleaks"); + #endif } ::free(buffer); From boxbackup-dev at fluffy.co.uk Sat Sep 2 12:07:18 2006 From: boxbackup-dev at fluffy.co.uk (boxbackup-dev at fluffy.co.uk) Date: Sat, 02 Sep 2006 11:07:18 -0000 Subject: [Box Backup-commit] =?utf-8?q?Re=3A_=233=3A_Merge_Win32_branch?= In-Reply-To: <075.1b7d6133054ee2a6460aa460f0db838a@fluffy.co.uk> References: <075.1b7d6133054ee2a6460aa460f0db838a@fluffy.co.uk> Message-ID: <084.fd3f1008a4cee9f0e0e68e0e3314f740@fluffy.co.uk> --===============1438988556== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 IzM6IE1lcmdlIFdpbjMyIGJyYW5jaA0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KICBSZXBvcnRlcjog IGNocmlzICAgICB8ICAgICAgIE93bmVyOiAgY2hyaXMgICAgICAgICAgICAgDQogICAgICBUeXBl OiAgdGFzayAgICAgIHwgICAgICBTdGF0dXM6ICBuZXcgICAgICAgICAgICAgICANCiAgUHJpb3Jp dHk6ICBub3JtYWwgICAgfCAgIE1pbGVzdG9uZTogIDAuMTEgICAgICAgICAgICAgIA0KIENvbXBv bmVudDogIGJiYWNrdXBkICB8ICAgICBWZXJzaW9uOiAgdHJ1bmsgICAgICAgICAgICAgDQpSZXNv bHV0aW9uOiAgICAgICAgICAgIHwgICAgS2V5d29yZHM6ICB3aW4zMiBtZXJnZSBicmFuY2gNCi0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0NCkNvbW1lbnQgKGJ5IGNocmlzKToNCg0KIChJbiBbOTM3XSkgKHJl ZnMgIzMpDQoNCiBEb24ndCBjaGVjayBmb3IgbWVtb3J5IGxlYWtzIG9uIFdpbjMyLCBzaW5jZSB0 aGUgcHJvY2VzcyBpcyBmb3JjZSBraWxsZWQNCiBhbmQgZG9lc24ndCBoYXZlIGEgY2hhbmNlIHRv IHdyaXRlIHRoZSBsb2cgZmlsZS4NCg0KLS0gDQpUaWNrZXQgVVJMOiA8aHR0cDovL2JiZGV2LmZs dWZmeS5jby51ay90cmFjL3RpY2tldC8zPg0KQm94IEJhY2t1cCA8aHR0cDovL3d3dy5mbHVmZnku Y28udWsvYm94YmFja3VwLz4NCkFuIG9wZW4gc291cmNlLCBjb21wbGV0ZWx5IGF1dG9tYXRpYyBv bi1saW5lIGJhY2t1cCBzeXN0ZW0gZm9yIFVOSVgu --===============1438988556==-- From subversion at fluffy.co.uk Sat Sep 2 12:09:08 2006 From: subversion at fluffy.co.uk (subversion at fluffy.co.uk) Date: Sat, 02 Sep 2006 12:09:08 +0100 Subject: [Box Backup-commit] COMMIT r938 - box/chris/merge/test/backupstorepatch Message-ID: Author: chris Date: 2006-09-02 12:09:08 +0100 (Sat, 02 Sep 2006) New Revision: 938 Modified: box/chris/merge/test/backupstorepatch/testbackupstorepatch.cpp Log: (refs #3) Use RunCommand instead of ::system to convert UNIX paths to native Modified: box/chris/merge/test/backupstorepatch/testbackupstorepatch.cpp =================================================================== --- box/chris/merge/test/backupstorepatch/testbackupstorepatch.cpp 2006-09-02 11:07:17 UTC (rev 937) +++ box/chris/merge/test/backupstorepatch/testbackupstorepatch.cpp 2006-09-02 11:09:08 UTC (rev 938) @@ -317,7 +317,10 @@ "testfiles/clientTrustedCAs.pem"); // Create an account - TEST_THAT_ABORTONFAIL(::system("../../bin/bbstoreaccounts/bbstoreaccounts -c testfiles/bbstored.conf create 01234567 0 30000B 40000B") == 0); + TEST_THAT_ABORTONFAIL(RunCommand( + "../../bin/bbstoreaccounts/bbstoreaccounts " + "-c testfiles/bbstored.conf " + "create 01234567 0 30000B 40000B") == 0); TestRemoteProcessMemLeaks("bbstoreaccounts.memleaks"); // Create test files From boxbackup-dev at fluffy.co.uk Sat Sep 2 12:09:09 2006 From: boxbackup-dev at fluffy.co.uk (boxbackup-dev at fluffy.co.uk) Date: Sat, 02 Sep 2006 11:09:09 -0000 Subject: [Box Backup-commit] =?utf-8?q?Re=3A_=233=3A_Merge_Win32_branch?= In-Reply-To: <075.1b7d6133054ee2a6460aa460f0db838a@fluffy.co.uk> References: <075.1b7d6133054ee2a6460aa460f0db838a@fluffy.co.uk> Message-ID: <084.cfe639250c5eaa1b57402590751238ab@fluffy.co.uk> --===============1629040239== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 IzM6IE1lcmdlIFdpbjMyIGJyYW5jaA0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KICBSZXBvcnRlcjog IGNocmlzICAgICB8ICAgICAgIE93bmVyOiAgY2hyaXMgICAgICAgICAgICAgDQogICAgICBUeXBl OiAgdGFzayAgICAgIHwgICAgICBTdGF0dXM6ICBuZXcgICAgICAgICAgICAgICANCiAgUHJpb3Jp dHk6ICBub3JtYWwgICAgfCAgIE1pbGVzdG9uZTogIDAuMTEgICAgICAgICAgICAgIA0KIENvbXBv bmVudDogIGJiYWNrdXBkICB8ICAgICBWZXJzaW9uOiAgdHJ1bmsgICAgICAgICAgICAgDQpSZXNv bHV0aW9uOiAgICAgICAgICAgIHwgICAgS2V5d29yZHM6ICB3aW4zMiBtZXJnZSBicmFuY2gNCi0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0NCkNvbW1lbnQgKGJ5IGNocmlzKToNCg0KIChJbiBbOTM4XSkgKHJl ZnMgIzMpDQoNCiBVc2UgUnVuQ29tbWFuZCBpbnN0ZWFkIG9mIDo6c3lzdGVtIHRvIGNvbnZlcnQg VU5JWCBwYXRocyB0byBuYXRpdmUNCg0KLS0gDQpUaWNrZXQgVVJMOiA8aHR0cDovL2JiZGV2LmZs dWZmeS5jby51ay90cmFjL3RpY2tldC8zPg0KQm94IEJhY2t1cCA8aHR0cDovL3d3dy5mbHVmZnku Y28udWsvYm94YmFja3VwLz4NCkFuIG9wZW4gc291cmNlLCBjb21wbGV0ZWx5IGF1dG9tYXRpYyBv bi1saW5lIGJhY2t1cCBzeXN0ZW0gZm9yIFVOSVgu --===============1629040239==-- From subversion at fluffy.co.uk Sat Sep 2 12:09:42 2006 From: subversion at fluffy.co.uk (subversion at fluffy.co.uk) Date: Sat, 02 Sep 2006 12:09:42 +0100 Subject: [Box Backup-commit] COMMIT r939 - box/chris/merge/test/basicserver Message-ID: Author: chris Date: 2006-09-02 12:09:41 +0100 (Sat, 02 Sep 2006) New Revision: 939 Modified: box/chris/merge/test/basicserver/testbasicserver.cpp Log: Revert to trunk Modified: box/chris/merge/test/basicserver/testbasicserver.cpp =================================================================== --- box/chris/merge/test/basicserver/testbasicserver.cpp 2006-09-02 11:09:08 UTC (rev 938) +++ box/chris/merge/test/basicserver/testbasicserver.cpp 2006-09-02 11:09:41 UTC (rev 939) @@ -31,6 +31,7 @@ #include "MemLeakFindOn.h" + #define SERVER_LISTEN_PORT 2003 // in ms @@ -61,14 +62,10 @@ void testservers_pause_before_reply() { -#ifdef WIN32 - Sleep(COMMS_SERVER_WAIT_BEFORE_REPLYING); -#else - struct timespec t; - t.tv_sec = 0; - t.tv_nsec = COMMS_SERVER_WAIT_BEFORE_REPLYING * 1000 * 1000; // convert to ns - ::nanosleep(&t, NULL); -#endif + struct timespec t; + t.tv_sec = 0; + t.tv_nsec = COMMS_SERVER_WAIT_BEFORE_REPLYING * 1000 * 1000; // convert to ns + ::nanosleep(&t, NULL); } #define LARGE_DATA_BLOCK_SIZE 19870 @@ -430,138 +427,84 @@ } } -#ifdef WIN32 - // Under win32 we must initialise the Winsock library - // before using sockets - - WSADATA info; - TEST_THAT(WSAStartup(0x0101, &info) != SOCKET_ERROR) -#endif - //printf("SKIPPING TESTS------------------------\n"); //goto protocolserver; // Launch a basic server { -#ifdef WIN32 - int pid = LaunchServer("test srv1 testfiles\\srv1.conf", - "testfiles\\srv1.pid"); -#else - int pid = LaunchServer("./test srv1 testfiles/srv1.conf", - "testfiles/srv1.pid"); -#endif - + int pid = LaunchServer("./test srv1 testfiles/srv1.conf", "testfiles/srv1.pid"); TEST_THAT(pid != -1 && pid != 0); if(pid > 0) { // Check that it's written the expected file - TEST_THAT(TestFileExists("testfiles" - DIRECTORY_SEPARATOR "srv1.test1")); + TEST_THAT(TestFileExists("testfiles/srv1.test1")); TEST_THAT(ServerIsAlive(pid)); // Move the config file over -#ifdef WIN32 - TEST_THAT(::unlink("testfiles" DIRECTORY_SEPARATOR - "srv1.conf") != -1); -#endif - TEST_THAT(::rename( - "testfiles" DIRECTORY_SEPARATOR "srv1b.conf", - "testfiles" DIRECTORY_SEPARATOR "srv1.conf") - != -1); -#ifndef WIN32 + TEST_THAT(::rename("testfiles/srv1b.conf", "testfiles/srv1.conf") != -1); // Get it to reread the config file TEST_THAT(HUPServer(pid)); ::sleep(1); TEST_THAT(ServerIsAlive(pid)); // Check that new file exists - TEST_THAT(TestFileExists("testfiles" - DIRECTORY_SEPARATOR "srv1.test2")); -#endif // !WIN32 + TEST_THAT(TestFileExists("testfiles/srv1.test2")); // Kill it off TEST_THAT(KillServer(pid)); -#ifndef WIN32 TestRemoteProcessMemLeaks("generic-daemon.memleaks"); -#endif // !WIN32 } } // Launch a test forking server { -#ifdef WIN32 - int pid = LaunchServer("test srv2 testfiles\\srv2.conf", - "testfiles\\srv2.pid"); -#else - int pid = LaunchServer("./test srv2 testfiles/srv2.conf", - "testfiles/srv2.pid"); -#endif - + int pid = LaunchServer("./test srv2 testfiles/srv2.conf", "testfiles/srv2.pid"); TEST_THAT(pid != -1 && pid != 0); if(pid > 0) { // Will it restart? TEST_THAT(ServerIsAlive(pid)); -#ifndef WIN32 TEST_THAT(HUPServer(pid)); ::sleep(1); TEST_THAT(ServerIsAlive(pid)); -#endif // !WIN32 // Make some connections { SocketStream conn1; conn1.Open(Socket::TypeINET, "localhost", 2003); -#ifndef WIN32 SocketStream conn2; conn2.Open(Socket::TypeUNIX, "testfiles/srv2.sock"); SocketStream conn3; conn3.Open(Socket::TypeINET, "localhost", 2003); -#endif // !WIN32 // Quick check that reconnections fail TEST_CHECK_THROWS(conn1.Open(Socket::TypeUNIX, "testfiles/srv2.sock");, ServerException, SocketAlreadyOpen); // Stuff some data around std::vector conns; conns.push_back(&conn1); -#ifndef WIN32 conns.push_back(&conn2); conns.push_back(&conn3); -#endif // !WIN32 Srv2TestConversations(conns); // Implicit close } -#ifndef WIN32 // HUP again TEST_THAT(HUPServer(pid)); ::sleep(1); TEST_THAT(ServerIsAlive(pid)); -#endif // !WIN32 // Kill it TEST_THAT(KillServer(pid)); ::sleep(1); TEST_THAT(!ServerIsAlive(pid)); -#ifndef WIN32 TestRemoteProcessMemLeaks("test-srv2.memleaks"); -#endif // !WIN32 } } // Launch a test SSL server { -#ifdef WIN32 - int pid = LaunchServer("test srv3 testfiles\\srv3.conf", - "testfiles\\srv3.pid"); -#else int pid = LaunchServer("./test srv3 testfiles/srv3.conf", "testfiles/srv3.pid"); -#endif TEST_THAT(pid != -1 && pid != 0); if(pid > 0) { // Will it restart? TEST_THAT(ServerIsAlive(pid)); - -#ifndef WIN32 TEST_THAT(HUPServer(pid)); ::sleep(1); TEST_THAT(ServerIsAlive(pid)); -#endif - // Make some connections { // SSL library @@ -576,50 +519,36 @@ SocketStreamTLS conn1; conn1.Open(context, Socket::TypeINET, "localhost", 2003); -#ifndef WIN32 SocketStreamTLS conn2; conn2.Open(context, Socket::TypeUNIX, "testfiles/srv3.sock"); SocketStreamTLS conn3; conn3.Open(context, Socket::TypeINET, "localhost", 2003); -#endif // Quick check that reconnections fail TEST_CHECK_THROWS(conn1.Open(context, Socket::TypeUNIX, "testfiles/srv3.sock");, ServerException, SocketAlreadyOpen); // Stuff some data around std::vector conns; conns.push_back(&conn1); -#ifndef WIN32 conns.push_back(&conn2); conns.push_back(&conn3); -#endif Srv2TestConversations(conns); // Implicit close } -#ifndef WIN32 // HUP again TEST_THAT(HUPServer(pid)); ::sleep(1); TEST_THAT(ServerIsAlive(pid)); -#endif // Kill it TEST_THAT(KillServer(pid)); ::sleep(1); TEST_THAT(!ServerIsAlive(pid)); -#ifndef WIN32 TestRemoteProcessMemLeaks("test-srv3.memleaks"); -#endif } } //protocolserver: // Launch a test protocol handling server { -#ifdef WIN32 - int pid = LaunchServer("test srv4 testfiles\\srv4.conf", - "testfiles\\srv4.pid"); -#else - int pid = LaunchServer("./test srv4 testfiles/srv4.conf", - "testfiles/srv4.pid"); -#endif + int pid = LaunchServer("./test srv4 testfiles/srv4.conf", "testfiles/srv4.pid"); TEST_THAT(pid != -1 && pid != 0); if(pid > 0) { @@ -628,11 +557,7 @@ // Open a connection to it SocketStream conn; -#ifdef WIN32 - conn.Open(Socket::TypeINET, "localhost", 2003); -#else conn.Open(Socket::TypeUNIX, "testfiles/srv4.sock"); -#endif // Create a protocol TestProtocolClient protocol(conn); @@ -695,9 +620,7 @@ TEST_THAT(KillServer(pid)); ::sleep(1); TEST_THAT(!ServerIsAlive(pid)); -#ifndef WIN32 TestRemoteProcessMemLeaks("test-srv4.memleaks"); -#endif } } From subversion at fluffy.co.uk Sat Sep 2 12:12:01 2006 From: subversion at fluffy.co.uk (subversion at fluffy.co.uk) Date: Sat, 02 Sep 2006 12:12:01 +0100 Subject: [Box Backup-commit] COMMIT r940 - box/chris/merge/test/basicserver Message-ID: Author: chris Date: 2006-09-02 12:12:01 +0100 (Sat, 02 Sep 2006) New Revision: 940 Modified: box/chris/merge/test/basicserver/testbasicserver.cpp Log: (refs #3) Sleep without nanosleep() on Win32 Modified: box/chris/merge/test/basicserver/testbasicserver.cpp =================================================================== --- box/chris/merge/test/basicserver/testbasicserver.cpp 2006-09-02 11:09:41 UTC (rev 939) +++ box/chris/merge/test/basicserver/testbasicserver.cpp 2006-09-02 11:12:01 UTC (rev 940) @@ -31,7 +31,6 @@ #include "MemLeakFindOn.h" - #define SERVER_LISTEN_PORT 2003 // in ms @@ -62,10 +61,14 @@ void testservers_pause_before_reply() { - struct timespec t; - t.tv_sec = 0; - t.tv_nsec = COMMS_SERVER_WAIT_BEFORE_REPLYING * 1000 * 1000; // convert to ns - ::nanosleep(&t, NULL); +#ifdef WIN32 + Sleep(COMMS_SERVER_WAIT_BEFORE_REPLYING); +#else + struct timespec t; + t.tv_sec = 0; + t.tv_nsec = COMMS_SERVER_WAIT_BEFORE_REPLYING * 1000 * 1000; // convert to ns + ::nanosleep(&t, NULL); +#endif } #define LARGE_DATA_BLOCK_SIZE 19870 From boxbackup-dev at fluffy.co.uk Sat Sep 2 12:12:01 2006 From: boxbackup-dev at fluffy.co.uk (boxbackup-dev at fluffy.co.uk) Date: Sat, 02 Sep 2006 11:12:01 -0000 Subject: [Box Backup-commit] =?utf-8?q?Re=3A_=233=3A_Merge_Win32_branch?= In-Reply-To: <075.1b7d6133054ee2a6460aa460f0db838a@fluffy.co.uk> References: <075.1b7d6133054ee2a6460aa460f0db838a@fluffy.co.uk> Message-ID: <084.c36d857aaa48d6b07f8f8cb70a246d6e@fluffy.co.uk> --===============1132678844== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 IzM6IE1lcmdlIFdpbjMyIGJyYW5jaA0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KICBSZXBvcnRlcjog IGNocmlzICAgICB8ICAgICAgIE93bmVyOiAgY2hyaXMgICAgICAgICAgICAgDQogICAgICBUeXBl OiAgdGFzayAgICAgIHwgICAgICBTdGF0dXM6ICBuZXcgICAgICAgICAgICAgICANCiAgUHJpb3Jp dHk6ICBub3JtYWwgICAgfCAgIE1pbGVzdG9uZTogIDAuMTEgICAgICAgICAgICAgIA0KIENvbXBv bmVudDogIGJiYWNrdXBkICB8ICAgICBWZXJzaW9uOiAgdHJ1bmsgICAgICAgICAgICAgDQpSZXNv bHV0aW9uOiAgICAgICAgICAgIHwgICAgS2V5d29yZHM6ICB3aW4zMiBtZXJnZSBicmFuY2gNCi0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0NCkNvbW1lbnQgKGJ5IGNocmlzKToNCg0KIChJbiBbOTQwXSkgKHJl ZnMgIzMpDQoNCiBTbGVlcCB3aXRob3V0IG5hbm9zbGVlcCgpIG9uIFdpbjMyDQoNCi0tIA0KVGlj a2V0IFVSTDogPGh0dHA6Ly9iYmRldi5mbHVmZnkuY28udWsvdHJhYy90aWNrZXQvMz4NCkJveCBC YWNrdXAgPGh0dHA6Ly93d3cuZmx1ZmZ5LmNvLnVrL2JveGJhY2t1cC8+DQpBbiBvcGVuIHNvdXJj ZSwgY29tcGxldGVseSBhdXRvbWF0aWMgb24tbGluZSBiYWNrdXAgc3lzdGVtIGZvciBVTklYLg== --===============1132678844==-- From subversion at fluffy.co.uk Sat Sep 2 12:16:22 2006 From: subversion at fluffy.co.uk (subversion at fluffy.co.uk) Date: Sat, 02 Sep 2006 12:16:22 +0100 Subject: [Box Backup-commit] COMMIT r941 - box/chris/merge/infrastructure Message-ID: Author: chris Date: 2006-09-02 12:16:22 +0100 (Sat, 02 Sep 2006) New Revision: 941 Modified: box/chris/merge/infrastructure/buildenv-testmain-template.cpp Log: (refs #3) Automatically initialise Windows sockets for all tests Modified: box/chris/merge/infrastructure/buildenv-testmain-template.cpp =================================================================== --- box/chris/merge/infrastructure/buildenv-testmain-template.cpp 2006-09-02 11:12:01 UTC (rev 940) +++ box/chris/merge/infrastructure/buildenv-testmain-template.cpp 2006-09-02 11:16:22 UTC (rev 941) @@ -103,6 +103,14 @@ // banner printf("Running test TEST_NAME in " MODE_TEXT " mode...\n"); + + #ifdef WIN32 + // Under win32 we must initialise the Winsock library + // before using sockets + + WSADATA info; + TEST_THAT(WSAStartup(0x0101, &info) != SOCKET_ERROR) + #endif } try { From boxbackup-dev at fluffy.co.uk Sat Sep 2 12:16:23 2006 From: boxbackup-dev at fluffy.co.uk (boxbackup-dev at fluffy.co.uk) Date: Sat, 02 Sep 2006 11:16:23 -0000 Subject: [Box Backup-commit] =?utf-8?q?Re=3A_=233=3A_Merge_Win32_branch?= In-Reply-To: <075.1b7d6133054ee2a6460aa460f0db838a@fluffy.co.uk> References: <075.1b7d6133054ee2a6460aa460f0db838a@fluffy.co.uk> Message-ID: <084.296c4a2aa416d98df0756afa9d5d286d@fluffy.co.uk> --===============0388522764== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 IzM6IE1lcmdlIFdpbjMyIGJyYW5jaA0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KICBSZXBvcnRlcjog IGNocmlzICAgICB8ICAgICAgIE93bmVyOiAgY2hyaXMgICAgICAgICAgICAgDQogICAgICBUeXBl OiAgdGFzayAgICAgIHwgICAgICBTdGF0dXM6ICBuZXcgICAgICAgICAgICAgICANCiAgUHJpb3Jp dHk6ICBub3JtYWwgICAgfCAgIE1pbGVzdG9uZTogIDAuMTEgICAgICAgICAgICAgIA0KIENvbXBv bmVudDogIGJiYWNrdXBkICB8ICAgICBWZXJzaW9uOiAgdHJ1bmsgICAgICAgICAgICAgDQpSZXNv bHV0aW9uOiAgICAgICAgICAgIHwgICAgS2V5d29yZHM6ICB3aW4zMiBtZXJnZSBicmFuY2gNCi0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0NCkNvbW1lbnQgKGJ5IGNocmlzKToNCg0KIChJbiBbOTQxXSkgKHJl ZnMgIzMpDQoNCiBBdXRvbWF0aWNhbGx5IGluaXRpYWxpc2UgV2luZG93cyBzb2NrZXRzIGZvciBh bGwgdGVzdHMNCg0KLS0gDQpUaWNrZXQgVVJMOiA8aHR0cDovL2JiZGV2LmZsdWZmeS5jby51ay90 cmFjL3RpY2tldC8zPg0KQm94IEJhY2t1cCA8aHR0cDovL3d3dy5mbHVmZnkuY28udWsvYm94YmFj a3VwLz4NCkFuIG9wZW4gc291cmNlLCBjb21wbGV0ZWx5IGF1dG9tYXRpYyBvbi1saW5lIGJhY2t1 cCBzeXN0ZW0gZm9yIFVOSVgu --===============0388522764==-- From boxbackup-dev at fluffy.co.uk Sat Sep 2 12:32:38 2006 From: boxbackup-dev at fluffy.co.uk (boxbackup-dev at fluffy.co.uk) Date: Sat, 02 Sep 2006 11:32:38 -0000 Subject: [Box Backup-commit] =?utf-8?q?Re=3A_=233=3A_Merge_Win32_branch?= In-Reply-To: <075.1b7d6133054ee2a6460aa460f0db838a@fluffy.co.uk> References: <075.1b7d6133054ee2a6460aa460f0db838a@fluffy.co.uk> Message-ID: <084.2bbf1c46023447abe874bf4beb6ca4f5@fluffy.co.uk> --===============0555471053== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 IzM6IE1lcmdlIFdpbjMyIGJyYW5jaA0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KICBSZXBvcnRlcjog IGNocmlzICAgICB8ICAgICAgIE93bmVyOiAgY2hyaXMgICAgICAgICAgICAgDQogICAgICBUeXBl OiAgdGFzayAgICAgIHwgICAgICBTdGF0dXM6ICBuZXcgICAgICAgICAgICAgICANCiAgUHJpb3Jp dHk6ICBub3JtYWwgICAgfCAgIE1pbGVzdG9uZTogIDAuMTEgICAgICAgICAgICAgIA0KIENvbXBv bmVudDogIGJiYWNrdXBkICB8ICAgICBWZXJzaW9uOiAgdHJ1bmsgICAgICAgICAgICAgDQpSZXNv bHV0aW9uOiAgICAgICAgICAgIHwgICAgS2V5d29yZHM6ICB3aW4zMiBtZXJnZSBicmFuY2gNCi0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0NCkNvbW1lbnQgKGJ5IGNocmlzKToNCg0KIChJbiBbOTQyXSkgKHJl ZnMgIzMpDQoNCiBSZW9yZ2FuaXNlIHR5cGVkZWZzIGZvciBjbGFyaXR5DQoNCi0tIA0KVGlja2V0 IFVSTDogPGh0dHA6Ly9iYmRldi5mbHVmZnkuY28udWsvdHJhYy90aWNrZXQvMz4NCkJveCBCYWNr dXAgPGh0dHA6Ly93d3cuZmx1ZmZ5LmNvLnVrL2JveGJhY2t1cC8+DQpBbiBvcGVuIHNvdXJjZSwg Y29tcGxldGVseSBhdXRvbWF0aWMgb24tbGluZSBiYWNrdXAgc3lzdGVtIGZvciBVTklYLg== --===============0555471053==-- From subversion at fluffy.co.uk Sat Sep 2 12:32:38 2006 From: subversion at fluffy.co.uk (subversion at fluffy.co.uk) Date: Sat, 02 Sep 2006 12:32:38 +0100 Subject: [Box Backup-commit] COMMIT r942 - box/chris/merge/lib/win32 Message-ID: Author: chris Date: 2006-09-02 12:32:38 +0100 (Sat, 02 Sep 2006) New Revision: 942 Modified: box/chris/merge/lib/win32/emu.h Log: (refs #3) Reorganise typedefs for clarity Modified: box/chris/merge/lib/win32/emu.h =================================================================== --- box/chris/merge/lib/win32/emu.h 2006-09-02 11:16:22 UTC (rev 941) +++ box/chris/merge/lib/win32/emu.h 2006-09-02 11:32:38 UTC (rev 942) @@ -3,8 +3,49 @@ #if ! defined EMU_INCLUDE && defined WIN32 #define EMU_INCLUDE -#define _INO_T_DEFINED +// basic types, may be required by other headers since we +// don't include sys/types.h +#ifdef __MINGW32__ + #include + typedef uint32_t u_int32_t; +#else // MSVC + typedef __int64 int64_t; + typedef __int32 int32_t; + typedef __int16 int16_t; + typedef __int8 int8_t; + + typedef unsigned __int64 u_int64_t; + typedef unsigned __int32 u_int32_t; + + typedef unsigned __int64 uint64_t; + typedef unsigned __int32 uint32_t; + typedef unsigned __int16 uint16_t; + typedef unsigned __int8 uint8_t; +#endif + +// emulated types, present on MinGW but not MSVC or vice versa + +#ifdef _MSC_VER + typedef unsigned int mode_t; + typedef unsigned int pid_t; + + // must define _INO_T_DEFINED before including + // to replace it with our own. + typedef u_int64_t _ino_t; + #define _INO_T_DEFINED +#endif + +// set up to include the necessary parts of Windows headers + +#define WIN32_LEAN_AND_MEAN + +#ifndef __MSVCRT_VERSION__ +#define __MSVCRT_VERSION__ 0x0601 +#endif + +// Windows headers + #include #include #include @@ -19,6 +60,8 @@ #include +// emulated functions + #define gmtime_r( _clock, _result ) \ ( *(_result) = *gmtime( (_clock) ), \ (_result) ) @@ -50,8 +93,8 @@ struct passwd { char *pw_name; char *pw_passwd; - uid_t pw_uid; - gid_t pw_gid; + int pw_uid; + int pw_gid; time_t pw_change; char *pw_class; char *pw_gecos; @@ -252,17 +295,6 @@ #define tv_nsec tv_usec #ifndef __MINGW32__ - typedef unsigned __int64 u_int64_t; - typedef unsigned __int64 uint64_t; - typedef __int64 int64_t; - typedef unsigned __int32 uint32_t; - typedef unsigned __int32 u_int32_t; - typedef __int32 int32_t; - typedef unsigned __int16 uint16_t; - typedef __int16 int16_t; - typedef unsigned __int8 uint8_t; - typedef __int8 int8_t; - typedef int socklen_t; #endif @@ -283,10 +315,6 @@ #define vsnprintf _vsnprintf -#ifndef __MINGW32__ -typedef unsigned int mode_t; -#endif - int emu_mkdir(const char* pPathName); inline int mkdir(const char *pPathName, mode_t mode) @@ -410,11 +438,7 @@ time_t st_mtime; time_t st_ctime; }; - -#ifndef __MINGW32__ -typedef u_int64_t _ino_t; #endif -#endif int emu_stat(const char * name, struct stat * st); int emu_fstat(HANDLE file, struct stat * st); From subversion at fluffy.co.uk Sat Sep 2 12:39:39 2006 From: subversion at fluffy.co.uk (subversion at fluffy.co.uk) Date: Sat, 02 Sep 2006 12:39:39 +0100 Subject: [Box Backup-commit] COMMIT r943 - box/chris/merge/lib/win32 Message-ID: Author: chris Date: 2006-09-02 12:39:39 +0100 (Sat, 02 Sep 2006) New Revision: 943 Modified: box/chris/merge/lib/win32/emu.cpp Log: (refs #3) Remove dependency on Box.h and hence on lib/common Modified: box/chris/merge/lib/win32/emu.cpp =================================================================== --- box/chris/merge/lib/win32/emu.cpp 2006-09-02 11:32:38 UTC (rev 942) +++ box/chris/merge/lib/win32/emu.cpp 2006-09-02 11:39:39 UTC (rev 943) @@ -3,15 +3,13 @@ // Need at least 0x0500 to use GetFileSizeEx on Cygwin/MinGW #define WINVER 0x0500 -#include "Box.h" +#include "emu.h" #ifdef WIN32 -// #include "emu.h" - -#include +#include #include -// #include +#include #ifdef HAVE_UNISTD_H #include From boxbackup-dev at fluffy.co.uk Sat Sep 2 12:39:40 2006 From: boxbackup-dev at fluffy.co.uk (boxbackup-dev at fluffy.co.uk) Date: Sat, 02 Sep 2006 11:39:40 -0000 Subject: [Box Backup-commit] =?utf-8?q?Re=3A_=233=3A_Merge_Win32_branch?= In-Reply-To: <075.1b7d6133054ee2a6460aa460f0db838a@fluffy.co.uk> References: <075.1b7d6133054ee2a6460aa460f0db838a@fluffy.co.uk> Message-ID: <084.e367661fdb48c0340aa87b3b68284518@fluffy.co.uk> --===============1451726281== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 IzM6IE1lcmdlIFdpbjMyIGJyYW5jaA0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KICBSZXBvcnRlcjog IGNocmlzICAgICB8ICAgICAgIE93bmVyOiAgY2hyaXMgICAgICAgICAgICAgDQogICAgICBUeXBl OiAgdGFzayAgICAgIHwgICAgICBTdGF0dXM6ICBuZXcgICAgICAgICAgICAgICANCiAgUHJpb3Jp dHk6ICBub3JtYWwgICAgfCAgIE1pbGVzdG9uZTogIDAuMTEgICAgICAgICAgICAgIA0KIENvbXBv bmVudDogIGJiYWNrdXBkICB8ICAgICBWZXJzaW9uOiAgdHJ1bmsgICAgICAgICAgICAgDQpSZXNv bHV0aW9uOiAgICAgICAgICAgIHwgICAgS2V5d29yZHM6ICB3aW4zMiBtZXJnZSBicmFuY2gNCi0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0NCkNvbW1lbnQgKGJ5IGNocmlzKToNCg0KIChJbiBbOTQzXSkgKHJl ZnMgIzMpDQoNCiBSZW1vdmUgZGVwZW5kZW5jeSBvbiBCb3guaCBhbmQgaGVuY2Ugb24gbGliL2Nv bW1vbg0KDQotLSANClRpY2tldCBVUkw6IDxodHRwOi8vYmJkZXYuZmx1ZmZ5LmNvLnVrL3RyYWMv dGlja2V0LzM+DQpCb3ggQmFja3VwIDxodHRwOi8vd3d3LmZsdWZmeS5jby51ay9ib3hiYWNrdXAv Pg0KQW4gb3BlbiBzb3VyY2UsIGNvbXBsZXRlbHkgYXV0b21hdGljIG9uLWxpbmUgYmFja3VwIHN5 c3RlbSBmb3IgVU5JWC4= --===============1451726281==-- From subversion at fluffy.co.uk Sat Sep 2 12:41:44 2006 From: subversion at fluffy.co.uk (subversion at fluffy.co.uk) Date: Sat, 02 Sep 2006 12:41:44 +0100 Subject: [Box Backup-commit] COMMIT r944 - box/chris/merge/lib/win32 Message-ID: Author: chris Date: 2006-09-02 12:41:44 +0100 (Sat, 02 Sep 2006) New Revision: 944 Added: box/chris/merge/lib/win32/messages.h box/chris/merge/lib/win32/messages.mc box/chris/merge/lib/win32/messages.rc Log: (refs #3) Add message definitions and resource files Added: box/chris/merge/lib/win32/messages.h =================================================================== --- box/chris/merge/lib/win32/messages.h (rev 0) +++ box/chris/merge/lib/win32/messages.h 2006-09-02 11:41:44 UTC (rev 944) @@ -0,0 +1,57 @@ + // Message source file, to be compiled to a resource file with + // Microsoft Message Compiler (MC), to an object file with a Resource + // Compiler, and linked into the application. + + // The main reason for this file is to work around Windows' stupid + // messages in the Event Log, which say: + + // The description for Event ID ( 4 ) in Source ( Box Backup (bbackupd) ) + // cannot be found. The local computer may not have the necessary + // registry information or message DLL files to display messages from a + // remote computer. The following information is part of the event: + // Message definitions follow +// +// Values are 32 bit values layed out as follows: +// +// 3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 +// 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 +// +---+-+-+-----------------------+-------------------------------+ +// |Sev|C|R| Facility | Code | +// +---+-+-+-----------------------+-------------------------------+ +// +// where +// +// Sev - is the severity code +// +// 00 - Success +// 01 - Informational +// 10 - Warning +// 11 - Error +// +// C - is the Customer code flag +// +// R - is a reserved bit +// +// Facility - is the facility code +// +// Code - is the facility's status code +// +// +// Define the facility codes +// + + +// +// Define the severity codes +// + + +// +// MessageId: MSG_ERR +// +// MessageText: +// +// %1 +// +#define MSG_ERR ((DWORD)0x40000001L) + Property changes on: box/chris/merge/lib/win32/messages.h ___________________________________________________________________ Name: svn:executable + * Added: box/chris/merge/lib/win32/messages.mc =================================================================== --- box/chris/merge/lib/win32/messages.mc (rev 0) +++ box/chris/merge/lib/win32/messages.mc 2006-09-02 11:41:44 UTC (rev 944) @@ -0,0 +1,22 @@ +; // Message source file, to be compiled to a resource file with +; // Microsoft Message Compiler (MC), to an object file with a Resource +; // Compiler, and linked into the application. +; +; // The main reason for this file is to work around Windows' stupid +; // messages in the Event Log, which say: +; +; // The description for Event ID ( 4 ) in Source ( Box Backup (bbackupd) ) +; // cannot be found. The local computer may not have the necessary +; // registry information or message DLL files to display messages from a +; // remote computer. The following information is part of the event: + +MessageIdTypedef = DWORD + +; // Message definitions follow + +MessageId = 0x1 +Severity = Informational +SymbolicName = MSG_ERR +Language = English +%1 +. Added: box/chris/merge/lib/win32/messages.rc =================================================================== --- box/chris/merge/lib/win32/messages.rc (rev 0) +++ box/chris/merge/lib/win32/messages.rc 2006-09-02 11:41:44 UTC (rev 944) @@ -0,0 +1,2 @@ +LANGUAGE 0x9,0x1 +1 11 MSG00001.bin Property changes on: box/chris/merge/lib/win32/messages.rc ___________________________________________________________________ Name: svn:executable + * From boxbackup-dev at fluffy.co.uk Sat Sep 2 12:41:45 2006 From: boxbackup-dev at fluffy.co.uk (boxbackup-dev at fluffy.co.uk) Date: Sat, 02 Sep 2006 11:41:45 -0000 Subject: [Box Backup-commit] =?utf-8?q?Re=3A_=233=3A_Merge_Win32_branch?= In-Reply-To: <075.1b7d6133054ee2a6460aa460f0db838a@fluffy.co.uk> References: <075.1b7d6133054ee2a6460aa460f0db838a@fluffy.co.uk> Message-ID: <084.7e0feccee726ee3db88ffd68f0ad971a@fluffy.co.uk> --===============0724421393== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 IzM6IE1lcmdlIFdpbjMyIGJyYW5jaA0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KICBSZXBvcnRlcjog IGNocmlzICAgICB8ICAgICAgIE93bmVyOiAgY2hyaXMgICAgICAgICAgICAgDQogICAgICBUeXBl OiAgdGFzayAgICAgIHwgICAgICBTdGF0dXM6ICBuZXcgICAgICAgICAgICAgICANCiAgUHJpb3Jp dHk6ICBub3JtYWwgICAgfCAgIE1pbGVzdG9uZTogIDAuMTEgICAgICAgICAgICAgIA0KIENvbXBv bmVudDogIGJiYWNrdXBkICB8ICAgICBWZXJzaW9uOiAgdHJ1bmsgICAgICAgICAgICAgDQpSZXNv bHV0aW9uOiAgICAgICAgICAgIHwgICAgS2V5d29yZHM6ICB3aW4zMiBtZXJnZSBicmFuY2gNCi0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0NCkNvbW1lbnQgKGJ5IGNocmlzKToNCg0KIChJbiBbOTQ0XSkgKHJl ZnMgIzMpDQoNCiBBZGQgbWVzc2FnZSBkZWZpbml0aW9ucyBhbmQgcmVzb3VyY2UgZmlsZXMNCg0K LS0gDQpUaWNrZXQgVVJMOiA8aHR0cDovL2JiZGV2LmZsdWZmeS5jby51ay90cmFjL3RpY2tldC8z Pg0KQm94IEJhY2t1cCA8aHR0cDovL3d3dy5mbHVmZnkuY28udWsvYm94YmFja3VwLz4NCkFuIG9w ZW4gc291cmNlLCBjb21wbGV0ZWx5IGF1dG9tYXRpYyBvbi1saW5lIGJhY2t1cCBzeXN0ZW0gZm9y IFVOSVgu --===============0724421393==-- From subversion at fluffy.co.uk Sat Sep 2 12:44:24 2006 From: subversion at fluffy.co.uk (subversion at fluffy.co.uk) Date: Sat, 02 Sep 2006 12:44:24 +0100 Subject: [Box Backup-commit] COMMIT r945 - box/chris/merge/lib/win32 Message-ID: Author: chris Date: 2006-09-02 12:44:24 +0100 (Sat, 02 Sep 2006) New Revision: 945 Modified: box/chris/merge/lib/win32/emu.cpp Log: (refs #3) Include message resource definitions Modified: box/chris/merge/lib/win32/emu.cpp =================================================================== --- box/chris/merge/lib/win32/emu.cpp 2006-09-02 11:41:44 UTC (rev 944) +++ box/chris/merge/lib/win32/emu.cpp 2006-09-02 11:44:24 UTC (rev 945) @@ -21,6 +21,10 @@ #include #include +// message resource definitions for syslog() + +#include "messages.h" + // our implementation for a timer, based on a // simple thread which sleeps for a period of time From boxbackup-dev at fluffy.co.uk Sat Sep 2 12:44:25 2006 From: boxbackup-dev at fluffy.co.uk (boxbackup-dev at fluffy.co.uk) Date: Sat, 02 Sep 2006 11:44:25 -0000 Subject: [Box Backup-commit] =?utf-8?q?Re=3A_=233=3A_Merge_Win32_branch?= In-Reply-To: <075.1b7d6133054ee2a6460aa460f0db838a@fluffy.co.uk> References: <075.1b7d6133054ee2a6460aa460f0db838a@fluffy.co.uk> Message-ID: <084.cfefdf0ea389bc51a961408f4d5d6b3f@fluffy.co.uk> --===============1998318871== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 IzM6IE1lcmdlIFdpbjMyIGJyYW5jaA0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KICBSZXBvcnRlcjog IGNocmlzICAgICB8ICAgICAgIE93bmVyOiAgY2hyaXMgICAgICAgICAgICAgDQogICAgICBUeXBl OiAgdGFzayAgICAgIHwgICAgICBTdGF0dXM6ICBuZXcgICAgICAgICAgICAgICANCiAgUHJpb3Jp dHk6ICBub3JtYWwgICAgfCAgIE1pbGVzdG9uZTogIDAuMTEgICAgICAgICAgICAgIA0KIENvbXBv bmVudDogIGJiYWNrdXBkICB8ICAgICBWZXJzaW9uOiAgdHJ1bmsgICAgICAgICAgICAgDQpSZXNv bHV0aW9uOiAgICAgICAgICAgIHwgICAgS2V5d29yZHM6ICB3aW4zMiBtZXJnZSBicmFuY2gNCi0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0NCkNvbW1lbnQgKGJ5IGNocmlzKToNCg0KIChJbiBbOTQ1XSkgKHJl ZnMgIzMpDQoNCiBJbmNsdWRlIG1lc3NhZ2UgcmVzb3VyY2UgZGVmaW5pdGlvbnMNCg0KLS0gDQpU aWNrZXQgVVJMOiA8aHR0cDovL2JiZGV2LmZsdWZmeS5jby51ay90cmFjL3RpY2tldC8zPg0KQm94 IEJhY2t1cCA8aHR0cDovL3d3dy5mbHVmZnkuY28udWsvYm94YmFja3VwLz4NCkFuIG9wZW4gc291 cmNlLCBjb21wbGV0ZWx5IGF1dG9tYXRpYyBvbi1saW5lIGJhY2t1cCBzeXN0ZW0gZm9yIFVOSVgu --===============1998318871==-- From subversion at fluffy.co.uk Sat Sep 2 12:45:12 2006 From: subversion at fluffy.co.uk (subversion at fluffy.co.uk) Date: Sat, 02 Sep 2006 12:45:12 +0100 Subject: [Box Backup-commit] COMMIT r946 - box/chris/merge/lib/win32 Message-ID: Author: chris Date: 2006-09-02 12:45:11 +0100 (Sat, 02 Sep 2006) New Revision: 946 Added: box/chris/merge/lib/win32/getopt.h Log: (refs #3) Add BSD-licensed getopt.h to replace our own version Added: box/chris/merge/lib/win32/getopt.h =================================================================== --- box/chris/merge/lib/win32/getopt.h (rev 0) +++ box/chris/merge/lib/win32/getopt.h 2006-09-02 11:45:11 UTC (rev 946) @@ -0,0 +1,98 @@ +/* $OpenBSD: getopt.h,v 1.1 2002/12/03 20:24:29 millert Exp $ */ +/* $NetBSD: getopt.h,v 1.4 2000/07/07 10:43:54 ad Exp $ */ + +/*- + * Copyright (c) 2000 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Dieter Baron and Thomas Klausner. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the NetBSD + * Foundation, Inc. and its contributors. + * 4. Neither the name of The NetBSD Foundation nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef _GETOPT_H_ +#define _GETOPT_H_ + +// copied from: http://www.la.utexas.edu/lab/software/devtool/gnu/libtool/C_header_files.html + +/* __BEGIN_DECLS should be used at the beginning of your declarations, + so that C++ compilers don't mangle their names. Use __END_DECLS at + the end of C declarations. */ +#undef __BEGIN_DECLS +#undef __END_DECLS +#ifdef __cplusplus +# define __BEGIN_DECLS extern "C" { +# define __END_DECLS } +#else +# define __BEGIN_DECLS /* empty */ +# define __END_DECLS /* empty */ +#endif + +/* + * GNU-like getopt_long() and 4.4BSD getsubopt()/optreset extensions + */ +#define no_argument 0 +#define required_argument 1 +#define optional_argument 2 + +struct option { + /* name of long option */ + const char *name; + /* + * one of no_argument, required_argument, and optional_argument: + * whether option takes an argument + */ + int has_arg; + /* if not NULL, set *flag to val when option found */ + int *flag; + /* if flag not NULL, value to set *flag to; else return value */ + int val; +}; + +__BEGIN_DECLS +int getopt_long(int, char * const *, const char *, + const struct option *, int *); +int getopt_long_only(int, char * const *, const char *, + const struct option *, int *); +#ifndef _GETOPT_DEFINED_ +#define _GETOPT_DEFINED_ +int getopt(int, char * const *, const char *); +int getsubopt(char **, char * const *, char **); + +extern char *optarg; /* getopt(3) external variables */ +extern int opterr; +extern int optind; +extern int optopt; +extern int optreset; +extern char *suboptarg; /* getsubopt(3) external variable */ +#endif +__END_DECLS + +#endif /* !_GETOPT_H_ */ Property changes on: box/chris/merge/lib/win32/getopt.h ___________________________________________________________________ Name: svn:executable + * From boxbackup-dev at fluffy.co.uk Sat Sep 2 12:45:12 2006 From: boxbackup-dev at fluffy.co.uk (boxbackup-dev at fluffy.co.uk) Date: Sat, 02 Sep 2006 11:45:12 -0000 Subject: [Box Backup-commit] =?utf-8?q?Re=3A_=233=3A_Merge_Win32_branch?= In-Reply-To: <075.1b7d6133054ee2a6460aa460f0db838a@fluffy.co.uk> References: <075.1b7d6133054ee2a6460aa460f0db838a@fluffy.co.uk> Message-ID: <084.a503019c247c15ea279d4985f938b204@fluffy.co.uk> --===============0255724511== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 IzM6IE1lcmdlIFdpbjMyIGJyYW5jaA0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KICBSZXBvcnRlcjog IGNocmlzICAgICB8ICAgICAgIE93bmVyOiAgY2hyaXMgICAgICAgICAgICAgDQogICAgICBUeXBl OiAgdGFzayAgICAgIHwgICAgICBTdGF0dXM6ICBuZXcgICAgICAgICAgICAgICANCiAgUHJpb3Jp dHk6ICBub3JtYWwgICAgfCAgIE1pbGVzdG9uZTogIDAuMTEgICAgICAgICAgICAgIA0KIENvbXBv bmVudDogIGJiYWNrdXBkICB8ICAgICBWZXJzaW9uOiAgdHJ1bmsgICAgICAgICAgICAgDQpSZXNv bHV0aW9uOiAgICAgICAgICAgIHwgICAgS2V5d29yZHM6ICB3aW4zMiBtZXJnZSBicmFuY2gNCi0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0NCkNvbW1lbnQgKGJ5IGNocmlzKToNCg0KIChJbiBbOTQ2XSkgKHJl ZnMgIzMpDQoNCiBBZGQgQlNELWxpY2Vuc2VkIGdldG9wdC5oIHRvIHJlcGxhY2Ugb3VyIG93biB2 ZXJzaW9uDQoNCi0tIA0KVGlja2V0IFVSTDogPGh0dHA6Ly9iYmRldi5mbHVmZnkuY28udWsvdHJh Yy90aWNrZXQvMz4NCkJveCBCYWNrdXAgPGh0dHA6Ly93d3cuZmx1ZmZ5LmNvLnVrL2JveGJhY2t1 cC8+DQpBbiBvcGVuIHNvdXJjZSwgY29tcGxldGVseSBhdXRvbWF0aWMgb24tbGluZSBiYWNrdXAg c3lzdGVtIGZvciBVTklYLg== --===============0255724511==-- From subversion at fluffy.co.uk Sat Sep 2 12:50:26 2006 From: subversion at fluffy.co.uk (subversion at fluffy.co.uk) Date: Sat, 02 Sep 2006 12:50:26 +0100 Subject: [Box Backup-commit] COMMIT r947 - box/chris/merge/lib/win32 Message-ID: Author: chris Date: 2006-09-02 12:50:26 +0100 (Sat, 02 Sep 2006) New Revision: 947 Modified: box/chris/merge/lib/win32/emu.cpp Log: (refs #3) Use our own ConvertUtf8ToWideString for simplicity Modified: box/chris/merge/lib/win32/emu.cpp =================================================================== --- box/chris/merge/lib/win32/emu.cpp 2006-09-02 11:45:11 UTC (rev 946) +++ box/chris/merge/lib/win32/emu.cpp 2006-09-02 11:50:26 UTC (rev 947) @@ -372,7 +372,7 @@ // -------------------------------------------------------------------------- bool ConvertUtf8ToConsole(const char* pString, std::string& rDest) { - WCHAR* pWide = ConvertToWideString(pString, CP_UTF8); + WCHAR* pWide = ConvertUtf8ToWideString(pString); if (pWide == NULL) { return false; From boxbackup-dev at fluffy.co.uk Sat Sep 2 12:50:27 2006 From: boxbackup-dev at fluffy.co.uk (boxbackup-dev at fluffy.co.uk) Date: Sat, 02 Sep 2006 11:50:27 -0000 Subject: [Box Backup-commit] =?utf-8?q?Re=3A_=233=3A_Merge_Win32_branch?= In-Reply-To: <075.1b7d6133054ee2a6460aa460f0db838a@fluffy.co.uk> References: <075.1b7d6133054ee2a6460aa460f0db838a@fluffy.co.uk> Message-ID: <084.83ef1b1e8a5b3e99d00edd9cdecd4ec4@fluffy.co.uk> --===============1484285130== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 IzM6IE1lcmdlIFdpbjMyIGJyYW5jaA0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KICBSZXBvcnRlcjog IGNocmlzICAgICB8ICAgICAgIE93bmVyOiAgY2hyaXMgICAgICAgICAgICAgDQogICAgICBUeXBl OiAgdGFzayAgICAgIHwgICAgICBTdGF0dXM6ICBuZXcgICAgICAgICAgICAgICANCiAgUHJpb3Jp dHk6ICBub3JtYWwgICAgfCAgIE1pbGVzdG9uZTogIDAuMTEgICAgICAgICAgICAgIA0KIENvbXBv bmVudDogIGJiYWNrdXBkICB8ICAgICBWZXJzaW9uOiAgdHJ1bmsgICAgICAgICAgICAgDQpSZXNv bHV0aW9uOiAgICAgICAgICAgIHwgICAgS2V5d29yZHM6ICB3aW4zMiBtZXJnZSBicmFuY2gNCi0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0NCkNvbW1lbnQgKGJ5IGNocmlzKToNCg0KIChJbiBbOTQ3XSkgKHJl ZnMgIzMpDQoNCiBVc2Ugb3VyIG93biBDb252ZXJ0VXRmOFRvV2lkZVN0cmluZyBmb3Igc2ltcGxp Y2l0eQ0KDQotLSANClRpY2tldCBVUkw6IDxodHRwOi8vYmJkZXYuZmx1ZmZ5LmNvLnVrL3RyYWMv dGlja2V0LzM+DQpCb3ggQmFja3VwIDxodHRwOi8vd3d3LmZsdWZmeS5jby51ay9ib3hiYWNrdXAv Pg0KQW4gb3BlbiBzb3VyY2UsIGNvbXBsZXRlbHkgYXV0b21hdGljIG9uLWxpbmUgYmFja3VwIHN5 c3RlbSBmb3IgVU5JWC4= --===============1484285130==-- From boxbackup-dev at fluffy.co.uk Sun Sep 3 23:55:00 2006 From: boxbackup-dev at fluffy.co.uk (boxbackup-dev at fluffy.co.uk) Date: Sun, 03 Sep 2006 22:55:00 -0000 Subject: [Box Backup-commit] =?utf-8?q?Re=3A_=233=3A_Merge_Win32_branch?= In-Reply-To: <075.1b7d6133054ee2a6460aa460f0db838a@fluffy.co.uk> References: <075.1b7d6133054ee2a6460aa460f0db838a@fluffy.co.uk> Message-ID: <084.7c4657dd095105f23dc8ee219db83fbd@fluffy.co.uk> --===============0719322248== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 IzM6IE1lcmdlIFdpbjMyIGJyYW5jaA0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KICBSZXBvcnRlcjog IGNocmlzICAgICB8ICAgICAgIE93bmVyOiAgY2hyaXMgICAgICAgICAgICAgDQogICAgICBUeXBl OiAgdGFzayAgICAgIHwgICAgICBTdGF0dXM6ICBuZXcgICAgICAgICAgICAgICANCiAgUHJpb3Jp dHk6ICBub3JtYWwgICAgfCAgIE1pbGVzdG9uZTogIDAuMTEgICAgICAgICAgICAgIA0KIENvbXBv bmVudDogIGJiYWNrdXBkICB8ICAgICBWZXJzaW9uOiAgdHJ1bmsgICAgICAgICAgICAgDQpSZXNv bHV0aW9uOiAgICAgICAgICAgIHwgICAgS2V5d29yZHM6ICB3aW4zMiBtZXJnZSBicmFuY2gNCi0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0NCkNvbW1lbnQgKGJ5IGNocmlzKToNCg0KIChJbiBbOTQ4XSkgKHJl ZnMgIzMpDQoNCiBDb252ZXJ0IFVOSVggdG8gbmF0aXZlIHBhdGhzDQoNCi0tIA0KVGlja2V0IFVS TDogPGh0dHA6Ly9iYmRldi5mbHVmZnkuY28udWsvdHJhYy90aWNrZXQvMz4NCkJveCBCYWNrdXAg PGh0dHA6Ly93d3cuZmx1ZmZ5LmNvLnVrL2JveGJhY2t1cC8+DQpBbiBvcGVuIHNvdXJjZSwgY29t cGxldGVseSBhdXRvbWF0aWMgb24tbGluZSBiYWNrdXAgc3lzdGVtIGZvciBVTklYLg== --===============0719322248==-- From subversion at fluffy.co.uk Sun Sep 3 23:54:58 2006 From: subversion at fluffy.co.uk (subversion at fluffy.co.uk) Date: Sun, 03 Sep 2006 23:54:58 +0100 Subject: [Box Backup-commit] COMMIT r948 - box/chris/merge/lib/win32 Message-ID: Author: chris Date: 2006-09-03 23:54:58 +0100 (Sun, 03 Sep 2006) New Revision: 948 Modified: box/chris/merge/lib/win32/emu.cpp Log: (refs #3) Convert UNIX to native paths Modified: box/chris/merge/lib/win32/emu.cpp =================================================================== --- box/chris/merge/lib/win32/emu.cpp 2006-09-02 11:50:26 UTC (rev 947) +++ box/chris/merge/lib/win32/emu.cpp 2006-09-03 22:54:58 UTC (rev 948) @@ -436,13 +436,26 @@ // -------------------------------------------------------------------------- std::string ConvertPathToAbsoluteUnicode(const char *pFileName) { + std::string filename; + for (int i = 0; pFileName[i] != 0; i++) + { + if (pFileName[i] == '/') + { + filename += '\\'; + } + else + { + filename += pFileName[i]; + } + } + std::string tmpStr("\\\\?\\"); // Is the path relative or absolute? // Absolute paths on Windows are always a drive letter // followed by ':' - if (pFileName[1] != ':') + if (filename.length() >= 2 && filename[1] != ':') { // Must be relative. We need to get the // current directory to make it absolute. @@ -465,7 +478,7 @@ } } - tmpStr += pFileName; + tmpStr += filename; return tmpStr; } From subversion at fluffy.co.uk Mon Sep 4 00:35:48 2006 From: subversion at fluffy.co.uk (subversion at fluffy.co.uk) Date: Mon, 04 Sep 2006 00:35:48 +0100 Subject: [Box Backup-commit] COMMIT r949 - box/chris/merge/lib/win32 Message-ID: Author: chris Date: 2006-09-04 00:35:48 +0100 (Mon, 04 Sep 2006) New Revision: 949 Modified: box/chris/merge/lib/win32/emu.cpp Log: (refs #3) Return INVALID_HANDLE_VALUE instead of NULL from openfile() on failure Modified: box/chris/merge/lib/win32/emu.cpp =================================================================== --- box/chris/merge/lib/win32/emu.cpp 2006-09-03 22:54:58 UTC (rev 948) +++ box/chris/merge/lib/win32/emu.cpp 2006-09-03 23:35:48 UTC (rev 949) @@ -486,18 +486,20 @@ // // Function // Name: openfile -// Purpose: replacement for any open calls - handles unicode filenames - supplied in utf8 +// Purpose: replacement for any open calls - handles unicode +// filenames - supplied in utf8 // Created: 25th October 2004 // // -------------------------------------------------------------------------- HANDLE openfile(const char *pFileName, int flags, int mode) { - std::string AbsPathWithUnicode = ConvertPathToAbsoluteUnicode(pFileName); + std::string AbsPathWithUnicode = + ConvertPathToAbsoluteUnicode(pFileName); if (AbsPathWithUnicode.size() == 0) { // error already logged by ConvertPathToAbsoluteUnicode() - return NULL; + return INVALID_HANDLE_VALUE; } WCHAR* pBuffer = ConvertUtf8ToWideString(AbsPathWithUnicode.c_str()); @@ -506,7 +508,7 @@ if (pBuffer == NULL) { // error already logged by ConvertUtf8ToWideString() - return NULL; + return INVALID_HANDLE_VALUE; } // flags could be O_WRONLY | O_CREAT | O_RDONLY @@ -553,7 +555,7 @@ { ::syslog(LOG_WARNING, "Failed to open file %s: " "error %i", pFileName, GetLastError()); - return NULL; + return INVALID_HANDLE_VALUE; } return hdir; From boxbackup-dev at fluffy.co.uk Mon Sep 4 00:35:49 2006 From: boxbackup-dev at fluffy.co.uk (boxbackup-dev at fluffy.co.uk) Date: Sun, 03 Sep 2006 23:35:49 -0000 Subject: [Box Backup-commit] =?utf-8?q?Re=3A_=233=3A_Merge_Win32_branch?= In-Reply-To: <075.1b7d6133054ee2a6460aa460f0db838a@fluffy.co.uk> References: <075.1b7d6133054ee2a6460aa460f0db838a@fluffy.co.uk> Message-ID: <084.3f5777751fa861c994069d2545ee15d2@fluffy.co.uk> --===============1546745838== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 IzM6IE1lcmdlIFdpbjMyIGJyYW5jaA0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KICBSZXBvcnRlcjog IGNocmlzICAgICB8ICAgICAgIE93bmVyOiAgY2hyaXMgICAgICAgICAgICAgDQogICAgICBUeXBl OiAgdGFzayAgICAgIHwgICAgICBTdGF0dXM6ICBuZXcgICAgICAgICAgICAgICANCiAgUHJpb3Jp dHk6ICBub3JtYWwgICAgfCAgIE1pbGVzdG9uZTogIDAuMTEgICAgICAgICAgICAgIA0KIENvbXBv bmVudDogIGJiYWNrdXBkICB8ICAgICBWZXJzaW9uOiAgdHJ1bmsgICAgICAgICAgICAgDQpSZXNv bHV0aW9uOiAgICAgICAgICAgIHwgICAgS2V5d29yZHM6ICB3aW4zMiBtZXJnZSBicmFuY2gNCi0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0NCkNvbW1lbnQgKGJ5IGNocmlzKToNCg0KIChJbiBbOTQ5XSkgKHJl ZnMgIzMpDQoNCiBSZXR1cm4gSU5WQUxJRF9IQU5ETEVfVkFMVUUgaW5zdGVhZCBvZiBOVUxMIGZy b20gb3BlbmZpbGUoKSBvbiBmYWlsdXJlDQoNCi0tIA0KVGlja2V0IFVSTDogPGh0dHA6Ly9iYmRl di5mbHVmZnkuY28udWsvdHJhYy90aWNrZXQvMz4NCkJveCBCYWNrdXAgPGh0dHA6Ly93d3cuZmx1 ZmZ5LmNvLnVrL2JveGJhY2t1cC8+DQpBbiBvcGVuIHNvdXJjZSwgY29tcGxldGVseSBhdXRvbWF0 aWMgb24tbGluZSBiYWNrdXAgc3lzdGVtIGZvciBVTklYLg== --===============1546745838==-- From subversion at fluffy.co.uk Mon Sep 4 00:39:08 2006 From: subversion at fluffy.co.uk (subversion at fluffy.co.uk) Date: Mon, 04 Sep 2006 00:39:08 +0100 Subject: [Box Backup-commit] COMMIT r950 - box/chris/merge/lib/common Message-ID: Author: chris Date: 2006-09-04 00:39:08 +0100 (Mon, 04 Sep 2006) New Revision: 950 Modified: box/chris/merge/lib/common/FileStream.cpp box/chris/merge/lib/common/FileStream.h Log: (refs #3) Use INVALID_HANDLE_VALUE instead of NULL for invalid handles on Win32 Modified: box/chris/merge/lib/common/FileStream.cpp =================================================================== --- box/chris/merge/lib/common/FileStream.cpp 2006-09-03 23:35:48 UTC (rev 949) +++ box/chris/merge/lib/common/FileStream.cpp 2006-09-03 23:39:08 UTC (rev 950) @@ -30,7 +30,7 @@ mIsEOF(false) { #ifdef WIN32 - if(mOSFileHandle == 0) + if(mOSFileHandle == INVALID_HANDLE_VALUE) #else if(mOSFileHandle < 0) #endif @@ -56,7 +56,11 @@ : mOSFileHandle(FileDescriptor), mIsEOF(false) { +#ifdef WIN32 + if(mOSFileHandle == INVALID_HANDLE_VALUE) +#else if(mOSFileHandle < 0) +#endif { MEMLEAKFINDER_NOT_A_LEAK(this); THROW_EXCEPTION(CommonException, OSFileOpenError) @@ -76,7 +80,11 @@ : mOSFileHandle(::dup(rToCopy.mOSFileHandle)), mIsEOF(rToCopy.mIsEOF) { +#ifdef WIN32 + if(mOSFileHandle == INVALID_HANDLE_VALUE) +#else if(mOSFileHandle < 0) +#endif { MEMLEAKFINDER_NOT_A_LEAK(this); THROW_EXCEPTION(CommonException, OSFileOpenError) Modified: box/chris/merge/lib/common/FileStream.h =================================================================== --- box/chris/merge/lib/common/FileStream.h 2006-09-03 23:35:48 UTC (rev 949) +++ box/chris/merge/lib/common/FileStream.h 2006-09-03 23:39:08 UTC (rev 950) @@ -21,7 +21,7 @@ #endif #ifdef WIN32 - #define INVALID_FILE NULL + #define INVALID_FILE INVALID_HANDLE_VALUE typedef HANDLE tOSFileHandle; #else #define INVALID_FILE -1 From boxbackup-dev at fluffy.co.uk Mon Sep 4 00:39:08 2006 From: boxbackup-dev at fluffy.co.uk (boxbackup-dev at fluffy.co.uk) Date: Sun, 03 Sep 2006 23:39:08 -0000 Subject: [Box Backup-commit] =?utf-8?q?Re=3A_=233=3A_Merge_Win32_branch?= In-Reply-To: <075.1b7d6133054ee2a6460aa460f0db838a@fluffy.co.uk> References: <075.1b7d6133054ee2a6460aa460f0db838a@fluffy.co.uk> Message-ID: <084.bcf5b4bd856a353976ba8f23e98dd24e@fluffy.co.uk> --===============1470202998== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 IzM6IE1lcmdlIFdpbjMyIGJyYW5jaA0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KICBSZXBvcnRlcjog IGNocmlzICAgICB8ICAgICAgIE93bmVyOiAgY2hyaXMgICAgICAgICAgICAgDQogICAgICBUeXBl OiAgdGFzayAgICAgIHwgICAgICBTdGF0dXM6ICBuZXcgICAgICAgICAgICAgICANCiAgUHJpb3Jp dHk6ICBub3JtYWwgICAgfCAgIE1pbGVzdG9uZTogIDAuMTEgICAgICAgICAgICAgIA0KIENvbXBv bmVudDogIGJiYWNrdXBkICB8ICAgICBWZXJzaW9uOiAgdHJ1bmsgICAgICAgICAgICAgDQpSZXNv bHV0aW9uOiAgICAgICAgICAgIHwgICAgS2V5d29yZHM6ICB3aW4zMiBtZXJnZSBicmFuY2gNCi0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0NCkNvbW1lbnQgKGJ5IGNocmlzKToNCg0KIChJbiBbOTUwXSkgKHJl ZnMgIzMpDQoNCiBVc2UgSU5WQUxJRF9IQU5ETEVfVkFMVUUgaW5zdGVhZCBvZiBOVUxMIGZvciBp bnZhbGlkIGhhbmRsZXMgb24gV2luMzINCg0KLS0gDQpUaWNrZXQgVVJMOiA8aHR0cDovL2JiZGV2 LmZsdWZmeS5jby51ay90cmFjL3RpY2tldC8zPg0KQm94IEJhY2t1cCA8aHR0cDovL3d3dy5mbHVm ZnkuY28udWsvYm94YmFja3VwLz4NCkFuIG9wZW4gc291cmNlLCBjb21wbGV0ZWx5IGF1dG9tYXRp YyBvbi1saW5lIGJhY2t1cCBzeXN0ZW0gZm9yIFVOSVgu --===============1470202998==-- From subversion at fluffy.co.uk Mon Sep 4 00:41:31 2006 From: subversion at fluffy.co.uk (subversion at fluffy.co.uk) Date: Mon, 04 Sep 2006 00:41:31 +0100 Subject: [Box Backup-commit] COMMIT r951 - box/chris/merge/lib/win32 Message-ID: Author: chris Date: 2006-09-04 00:41:31 +0100 (Mon, 04 Sep 2006) New Revision: 951 Modified: box/chris/merge/lib/win32/emu.cpp Log: (refs #3) Improved handling of UNIX flags to openfile(), allows multiple opens Modified: box/chris/merge/lib/win32/emu.cpp =================================================================== --- box/chris/merge/lib/win32/emu.cpp 2006-09-03 23:39:08 UTC (rev 950) +++ box/chris/merge/lib/win32/emu.cpp 2006-09-03 23:41:31 UTC (rev 951) @@ -518,19 +518,19 @@ if (flags & O_WRONLY) { + accessRights = FILE_WRITE_DATA; shareMode = FILE_SHARE_WRITE; } - if (flags & O_RDWR) + else if (flags & (O_RDWR | O_CREAT)) { - shareMode = FILE_SHARE_READ | FILE_SHARE_WRITE; + accessRights |= FILE_WRITE_ATTRIBUTES + | FILE_WRITE_DATA | FILE_WRITE_EA; + shareMode |= FILE_SHARE_WRITE; } + if (flags & O_CREAT) { createDisposition = OPEN_ALWAYS; - shareMode |= FILE_SHARE_WRITE; - accessRights |= FILE_WRITE_ATTRIBUTES - | FILE_WRITE_DATA | FILE_WRITE_EA - | FILE_ALL_ACCESS; } if (flags & O_TRUNC) { From boxbackup-dev at fluffy.co.uk Mon Sep 4 00:41:31 2006 From: boxbackup-dev at fluffy.co.uk (boxbackup-dev at fluffy.co.uk) Date: Sun, 03 Sep 2006 23:41:31 -0000 Subject: [Box Backup-commit] =?utf-8?q?Re=3A_=233=3A_Merge_Win32_branch?= In-Reply-To: <075.1b7d6133054ee2a6460aa460f0db838a@fluffy.co.uk> References: <075.1b7d6133054ee2a6460aa460f0db838a@fluffy.co.uk> Message-ID: <084.2a7aa13e8a338b311b2b1e556b6b99cb@fluffy.co.uk> --===============1888198428== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 IzM6IE1lcmdlIFdpbjMyIGJyYW5jaA0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KICBSZXBvcnRlcjog IGNocmlzICAgICB8ICAgICAgIE93bmVyOiAgY2hyaXMgICAgICAgICAgICAgDQogICAgICBUeXBl OiAgdGFzayAgICAgIHwgICAgICBTdGF0dXM6ICBuZXcgICAgICAgICAgICAgICANCiAgUHJpb3Jp dHk6ICBub3JtYWwgICAgfCAgIE1pbGVzdG9uZTogIDAuMTEgICAgICAgICAgICAgIA0KIENvbXBv bmVudDogIGJiYWNrdXBkICB8ICAgICBWZXJzaW9uOiAgdHJ1bmsgICAgICAgICAgICAgDQpSZXNv bHV0aW9uOiAgICAgICAgICAgIHwgICAgS2V5d29yZHM6ICB3aW4zMiBtZXJnZSBicmFuY2gNCi0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0NCkNvbW1lbnQgKGJ5IGNocmlzKToNCg0KIChJbiBbOTUxXSkgKHJl ZnMgIzMpDQoNCiBJbXByb3ZlZCBoYW5kbGluZyBvZiBVTklYIGZsYWdzIHRvIG9wZW5maWxlKCks IGFsbG93cyBtdWx0aXBsZSBvcGVucw0KDQotLSANClRpY2tldCBVUkw6IDxodHRwOi8vYmJkZXYu Zmx1ZmZ5LmNvLnVrL3RyYWMvdGlja2V0LzM+DQpCb3ggQmFja3VwIDxodHRwOi8vd3d3LmZsdWZm eS5jby51ay9ib3hiYWNrdXAvPg0KQW4gb3BlbiBzb3VyY2UsIGNvbXBsZXRlbHkgYXV0b21hdGlj IG9uLWxpbmUgYmFja3VwIHN5c3RlbSBmb3IgVU5JWC4= --===============1888198428==-- From subversion at fluffy.co.uk Mon Sep 4 00:46:11 2006 From: subversion at fluffy.co.uk (subversion at fluffy.co.uk) Date: Mon, 04 Sep 2006 00:46:11 +0100 Subject: [Box Backup-commit] COMMIT r952 - box/chris/merge/lib/win32 Message-ID: Author: chris Date: 2006-09-04 00:46:11 +0100 (Mon, 04 Sep 2006) New Revision: 952 Modified: box/chris/merge/lib/win32/emu.cpp Log: (refs #3) Improved error handling in emu_fstat Modified: box/chris/merge/lib/win32/emu.cpp =================================================================== --- box/chris/merge/lib/win32/emu.cpp 2006-09-03 23:41:31 UTC (rev 951) +++ box/chris/merge/lib/win32/emu.cpp 2006-09-03 23:46:11 UTC (rev 952) @@ -580,8 +580,6 @@ // -------------------------------------------------------------------------- int emu_fstat(HANDLE hdir, struct stat * st) { - ULARGE_INTEGER conv; - if (hdir == INVALID_HANDLE_VALUE) { ::syslog(LOG_ERR, "Error: invalid file handle in emu_fstat()"); @@ -598,9 +596,18 @@ return -1; } + if (INVALID_FILE_ATTRIBUTES == fi.dwFileAttributes) + { + ::syslog(LOG_WARNING, "Failed to get file attributes: " + "error %d", GetLastError()); + errno = EACCES; + return -1; + } + memset(st, 0, sizeof(*st)); - // This next example is how we get our INODE (equivalent) information + // This is how we get our INODE (equivalent) information + ULARGE_INTEGER conv; conv.HighPart = fi.nFileIndexHigh; conv.LowPart = fi.nFileIndexLow; st->st_ino = (_ino_t)conv.QuadPart; From boxbackup-dev at fluffy.co.uk Mon Sep 4 00:46:12 2006 From: boxbackup-dev at fluffy.co.uk (boxbackup-dev at fluffy.co.uk) Date: Sun, 03 Sep 2006 23:46:12 -0000 Subject: [Box Backup-commit] =?utf-8?q?Re=3A_=233=3A_Merge_Win32_branch?= In-Reply-To: <075.1b7d6133054ee2a6460aa460f0db838a@fluffy.co.uk> References: <075.1b7d6133054ee2a6460aa460f0db838a@fluffy.co.uk> Message-ID: <084.139757d5a419ac9419dc5d7b3964756f@fluffy.co.uk> --===============1541989187== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 IzM6IE1lcmdlIFdpbjMyIGJyYW5jaA0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KICBSZXBvcnRlcjog IGNocmlzICAgICB8ICAgICAgIE93bmVyOiAgY2hyaXMgICAgICAgICAgICAgDQogICAgICBUeXBl OiAgdGFzayAgICAgIHwgICAgICBTdGF0dXM6ICBuZXcgICAgICAgICAgICAgICANCiAgUHJpb3Jp dHk6ICBub3JtYWwgICAgfCAgIE1pbGVzdG9uZTogIDAuMTEgICAgICAgICAgICAgIA0KIENvbXBv bmVudDogIGJiYWNrdXBkICB8ICAgICBWZXJzaW9uOiAgdHJ1bmsgICAgICAgICAgICAgDQpSZXNv bHV0aW9uOiAgICAgICAgICAgIHwgICAgS2V5d29yZHM6ICB3aW4zMiBtZXJnZSBicmFuY2gNCi0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0NCkNvbW1lbnQgKGJ5IGNocmlzKToNCg0KIChJbiBbOTUyXSkgKHJl ZnMgIzMpDQoNCiBJbXByb3ZlZCBlcnJvciBoYW5kbGluZyBpbiBlbXVfZnN0YXQNCg0KLS0gDQpU aWNrZXQgVVJMOiA8aHR0cDovL2JiZGV2LmZsdWZmeS5jby51ay90cmFjL3RpY2tldC8zPg0KQm94 IEJhY2t1cCA8aHR0cDovL3d3dy5mbHVmZnkuY28udWsvYm94YmFja3VwLz4NCkFuIG9wZW4gc291 cmNlLCBjb21wbGV0ZWx5IGF1dG9tYXRpYyBvbi1saW5lIGJhY2t1cCBzeXN0ZW0gZm9yIFVOSVgu --===============1541989187==-- From subversion at fluffy.co.uk Mon Sep 4 00:48:34 2006 From: subversion at fluffy.co.uk (subversion at fluffy.co.uk) Date: Mon, 04 Sep 2006 00:48:34 +0100 Subject: [Box Backup-commit] COMMIT r953 - box/chris/merge/lib/win32 Message-ID: Author: chris Date: 2006-09-04 00:48:34 +0100 (Mon, 04 Sep 2006) New Revision: 953 Modified: box/chris/merge/lib/win32/emu.cpp Log: (refs #3) Always fill in st_uid, st_gid and st_nlink Return zero size for directories Improved emulation of Unix file modes (helps when restoring Windows files on Unix) Modified: box/chris/merge/lib/win32/emu.cpp =================================================================== --- box/chris/merge/lib/win32/emu.cpp 2006-09-03 23:46:11 UTC (rev 952) +++ box/chris/merge/lib/win32/emu.cpp 2006-09-03 23:48:34 UTC (rev 953) @@ -617,43 +617,57 @@ st->st_atime = ConvertFileTimeToTime_t(&fi.ftLastAccessTime); st->st_mtime = ConvertFileTimeToTime_t(&fi.ftLastWriteTime); - // size of the file - LARGE_INTEGER st_size; - if (!GetFileSizeEx(hdir, &st_size)) + if (fi.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) { - ::syslog(LOG_WARNING, "Failed to get file size: error %d", - GetLastError()); - errno = EACCES; - return -1; + st->st_size = 0; } + else + { + // size of the file + LARGE_INTEGER st_size; + memset(&st_size, 0, sizeof(st_size)); - conv.HighPart = st_size.HighPart; - conv.LowPart = st_size.LowPart; - st->st_size = (_off_t)conv.QuadPart; + if (!GetFileSizeEx(hdir, &st_size)) + { + ::syslog(LOG_WARNING, "Failed to get file size: " + "error %d", GetLastError()); + errno = EACCES; + return -1; + } - //the mode of the file - st->st_mode = 0; - //DWORD res = GetFileAttributes((LPCSTR)tmpStr.c_str()); + conv.HighPart = st_size.HighPart; + conv.LowPart = st_size.LowPart; + st->st_size = (_off_t)conv.QuadPart; + } - if (INVALID_FILE_ATTRIBUTES != fi.dwFileAttributes) + // at the mo + st->st_uid = 0; + st->st_gid = 0; + st->st_nlink = 1; + + // the mode of the file + // mode zero will make it impossible to restore on Unix + // (no access to anybody, including the owner). + // we'll fake a sensible mode: + // all objects get user read (0400) + // if it's a directory it gets user execute (0100) + // if it's not read-only it gets user write (0200) + st->st_mode = S_IREAD; + + if (fi.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) { - if (fi.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) - { - st->st_mode |= S_IFDIR; - } - else - { - st->st_mode |= S_IFREG; - } + st->st_mode |= S_IFDIR | S_IEXEC; } else { - ::syslog(LOG_WARNING, "Failed to get file attributes: " - "error %d", GetLastError()); - errno = EACCES; - return -1; + st->st_mode |= S_IFREG; } + if (!(fi.dwFileAttributes & FILE_ATTRIBUTE_READONLY)) + { + st->st_mode |= S_IWRITE; + } + return 0; } From boxbackup-dev at fluffy.co.uk Mon Sep 4 00:48:34 2006 From: boxbackup-dev at fluffy.co.uk (boxbackup-dev at fluffy.co.uk) Date: Sun, 03 Sep 2006 23:48:34 -0000 Subject: [Box Backup-commit] =?utf-8?q?Re=3A_=233=3A_Merge_Win32_branch?= In-Reply-To: <075.1b7d6133054ee2a6460aa460f0db838a@fluffy.co.uk> References: <075.1b7d6133054ee2a6460aa460f0db838a@fluffy.co.uk> Message-ID: <084.36736b876eb3466b9341838e0eaed565@fluffy.co.uk> --===============0974896876== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 IzM6IE1lcmdlIFdpbjMyIGJyYW5jaA0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KICBSZXBvcnRlcjog IGNocmlzICAgICB8ICAgICAgIE93bmVyOiAgY2hyaXMgICAgICAgICAgICAgDQogICAgICBUeXBl OiAgdGFzayAgICAgIHwgICAgICBTdGF0dXM6ICBuZXcgICAgICAgICAgICAgICANCiAgUHJpb3Jp dHk6ICBub3JtYWwgICAgfCAgIE1pbGVzdG9uZTogIDAuMTEgICAgICAgICAgICAgIA0KIENvbXBv bmVudDogIGJiYWNrdXBkICB8ICAgICBWZXJzaW9uOiAgdHJ1bmsgICAgICAgICAgICAgDQpSZXNv bHV0aW9uOiAgICAgICAgICAgIHwgICAgS2V5d29yZHM6ICB3aW4zMiBtZXJnZSBicmFuY2gNCi0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0NCkNvbW1lbnQgKGJ5IGNocmlzKToNCg0KIChJbiBbOTUzXSkgKHJl ZnMgIzMpDQoNCiBBbHdheXMgZmlsbCBpbiBzdF91aWQsIHN0X2dpZCBhbmQgc3RfbmxpbmsNCg0K IFJldHVybiB6ZXJvIHNpemUgZm9yIGRpcmVjdG9yaWVzDQoNCiBJbXByb3ZlZCBlbXVsYXRpb24g b2YgVW5peCBmaWxlIG1vZGVzIChoZWxwcyB3aGVuIHJlc3RvcmluZyBXaW5kb3dzIGZpbGVzDQog b24gVW5peCkNCg0KLS0gDQpUaWNrZXQgVVJMOiA8aHR0cDovL2JiZGV2LmZsdWZmeS5jby51ay90 cmFjL3RpY2tldC8zPg0KQm94IEJhY2t1cCA8aHR0cDovL3d3dy5mbHVmZnkuY28udWsvYm94YmFj a3VwLz4NCkFuIG9wZW4gc291cmNlLCBjb21wbGV0ZWx5IGF1dG9tYXRpYyBvbi1saW5lIGJhY2t1 cCBzeXN0ZW0gZm9yIFVOSVgu --===============0974896876==-- From subversion at fluffy.co.uk Mon Sep 4 00:51:22 2006 From: subversion at fluffy.co.uk (subversion at fluffy.co.uk) Date: Mon, 04 Sep 2006 00:51:22 +0100 Subject: [Box Backup-commit] COMMIT r954 - box/chris/merge/lib/win32 Message-ID: Author: chris Date: 2006-09-04 00:51:22 +0100 (Mon, 04 Sep 2006) New Revision: 954 Modified: box/chris/merge/lib/win32/emu.cpp Log: (refs #3) Pass requested open flags to OpenFileByNameUtf8 Modified: box/chris/merge/lib/win32/emu.cpp =================================================================== --- box/chris/merge/lib/win32/emu.cpp 2006-09-03 23:48:34 UTC (rev 953) +++ box/chris/merge/lib/win32/emu.cpp 2006-09-03 23:51:22 UTC (rev 954) @@ -681,9 +681,10 @@ // Created: 10th December 2004 // // -------------------------------------------------------------------------- -HANDLE OpenFileByNameUtf8(const char* pFileName) +HANDLE OpenFileByNameUtf8(const char* pFileName, DWORD flags) { - std::string AbsPathWithUnicode = ConvertPathToAbsoluteUnicode(pFileName); + std::string AbsPathWithUnicode = + ConvertPathToAbsoluteUnicode(pFileName); if (AbsPathWithUnicode.size() == 0) { @@ -701,7 +702,7 @@ } HANDLE handle = CreateFileW(pBuffer, - FILE_READ_ATTRIBUTES | FILE_LIST_DIRECTORY | FILE_READ_EA, + flags, FILE_SHARE_READ | FILE_SHARE_DELETE | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, @@ -757,13 +758,9 @@ // -------------------------------------------------------------------------- int emu_stat(const char * pName, struct stat * st) { - // at the mo - st->st_uid = 0; - st->st_gid = 0; - st->st_nlink = 1; + HANDLE handle = OpenFileByNameUtf8(pName, + FILE_READ_ATTRIBUTES | FILE_READ_EA); - HANDLE handle = OpenFileByNameUtf8(pName); - if (handle == NULL) { // errno already set and error logged by OpenFileByNameUtf8() @@ -795,7 +792,8 @@ // -------------------------------------------------------------------------- int statfs(const char * pName, struct statfs * s) { - HANDLE handle = OpenFileByNameUtf8(pName); + HANDLE handle = OpenFileByNameUtf8(pName, + FILE_READ_ATTRIBUTES | FILE_READ_EA); if (handle == NULL) { From boxbackup-dev at fluffy.co.uk Mon Sep 4 00:51:23 2006 From: boxbackup-dev at fluffy.co.uk (boxbackup-dev at fluffy.co.uk) Date: Sun, 03 Sep 2006 23:51:23 -0000 Subject: [Box Backup-commit] =?utf-8?q?Re=3A_=233=3A_Merge_Win32_branch?= In-Reply-To: <075.1b7d6133054ee2a6460aa460f0db838a@fluffy.co.uk> References: <075.1b7d6133054ee2a6460aa460f0db838a@fluffy.co.uk> Message-ID: <084.1dc01973c25795fdbe0e2d15b8e529a9@fluffy.co.uk> --===============1579592567== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 IzM6IE1lcmdlIFdpbjMyIGJyYW5jaA0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KICBSZXBvcnRlcjog IGNocmlzICAgICB8ICAgICAgIE93bmVyOiAgY2hyaXMgICAgICAgICAgICAgDQogICAgICBUeXBl OiAgdGFzayAgICAgIHwgICAgICBTdGF0dXM6ICBuZXcgICAgICAgICAgICAgICANCiAgUHJpb3Jp dHk6ICBub3JtYWwgICAgfCAgIE1pbGVzdG9uZTogIDAuMTEgICAgICAgICAgICAgIA0KIENvbXBv bmVudDogIGJiYWNrdXBkICB8ICAgICBWZXJzaW9uOiAgdHJ1bmsgICAgICAgICAgICAgDQpSZXNv bHV0aW9uOiAgICAgICAgICAgIHwgICAgS2V5d29yZHM6ICB3aW4zMiBtZXJnZSBicmFuY2gNCi0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0NCkNvbW1lbnQgKGJ5IGNocmlzKToNCg0KIChJbiBbOTU0XSkgKHJl ZnMgIzMpDQoNCiBQYXNzIHJlcXVlc3RlZCBvcGVuIGZsYWdzIHRvIE9wZW5GaWxlQnlOYW1lVXRm OA0KDQotLSANClRpY2tldCBVUkw6IDxodHRwOi8vYmJkZXYuZmx1ZmZ5LmNvLnVrL3RyYWMvdGlj a2V0LzM+DQpCb3ggQmFja3VwIDxodHRwOi8vd3d3LmZsdWZmeS5jby51ay9ib3hiYWNrdXAvPg0K QW4gb3BlbiBzb3VyY2UsIGNvbXBsZXRlbHkgYXV0b21hdGljIG9uLWxpbmUgYmFja3VwIHN5c3Rl bSBmb3IgVU5JWC4= --===============1579592567==-- From subversion at fluffy.co.uk Mon Sep 4 00:52:19 2006 From: subversion at fluffy.co.uk (subversion at fluffy.co.uk) Date: Mon, 04 Sep 2006 00:52:19 +0100 Subject: [Box Backup-commit] COMMIT r955 - box/chris/merge/lib/win32 Message-ID: Author: chris Date: 2006-09-04 00:52:19 +0100 (Mon, 04 Sep 2006) New Revision: 955 Modified: box/chris/merge/lib/win32/emu.cpp Log: (refs #3) Request READ_CONTROL when standard open fails, rather than no flags Modified: box/chris/merge/lib/win32/emu.cpp =================================================================== --- box/chris/merge/lib/win32/emu.cpp 2006-09-03 23:51:22 UTC (rev 954) +++ box/chris/merge/lib/win32/emu.cpp 2006-09-03 23:52:19 UTC (rev 955) @@ -716,7 +716,7 @@ // at least one process must have the file open - // in this case someone else does. handle = CreateFileW(pBuffer, - 0, + READ_CONTROL, FILE_SHARE_READ, NULL, OPEN_EXISTING, From boxbackup-dev at fluffy.co.uk Mon Sep 4 00:52:20 2006 From: boxbackup-dev at fluffy.co.uk (boxbackup-dev at fluffy.co.uk) Date: Sun, 03 Sep 2006 23:52:20 -0000 Subject: [Box Backup-commit] =?utf-8?q?Re=3A_=233=3A_Merge_Win32_branch?= In-Reply-To: <075.1b7d6133054ee2a6460aa460f0db838a@fluffy.co.uk> References: <075.1b7d6133054ee2a6460aa460f0db838a@fluffy.co.uk> Message-ID: <084.5c5f1e9a27e7565316e7543c8dba7f79@fluffy.co.uk> --===============0721094426== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 IzM6IE1lcmdlIFdpbjMyIGJyYW5jaA0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KICBSZXBvcnRlcjog IGNocmlzICAgICB8ICAgICAgIE93bmVyOiAgY2hyaXMgICAgICAgICAgICAgDQogICAgICBUeXBl OiAgdGFzayAgICAgIHwgICAgICBTdGF0dXM6ICBuZXcgICAgICAgICAgICAgICANCiAgUHJpb3Jp dHk6ICBub3JtYWwgICAgfCAgIE1pbGVzdG9uZTogIDAuMTEgICAgICAgICAgICAgIA0KIENvbXBv bmVudDogIGJiYWNrdXBkICB8ICAgICBWZXJzaW9uOiAgdHJ1bmsgICAgICAgICAgICAgDQpSZXNv bHV0aW9uOiAgICAgICAgICAgIHwgICAgS2V5d29yZHM6ICB3aW4zMiBtZXJnZSBicmFuY2gNCi0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0NCkNvbW1lbnQgKGJ5IGNocmlzKToNCg0KIChJbiBbOTU1XSkgKHJl ZnMgIzMpDQoNCiBSZXF1ZXN0IFJFQURfQ09OVFJPTCB3aGVuIHN0YW5kYXJkIG9wZW4gZmFpbHMs IHJhdGhlciB0aGFuIG5vIGZsYWdzDQoNCi0tIA0KVGlja2V0IFVSTDogPGh0dHA6Ly9iYmRldi5m bHVmZnkuY28udWsvdHJhYy90aWNrZXQvMz4NCkJveCBCYWNrdXAgPGh0dHA6Ly93d3cuZmx1ZmZ5 LmNvLnVrL2JveGJhY2t1cC8+DQpBbiBvcGVuIHNvdXJjZSwgY29tcGxldGVseSBhdXRvbWF0aWMg b24tbGluZSBiYWNrdXAgc3lzdGVtIGZvciBVTklYLg== --===============0721094426==-- From subversion at fluffy.co.uk Mon Sep 4 00:53:13 2006 From: subversion at fluffy.co.uk (subversion at fluffy.co.uk) Date: Mon, 04 Sep 2006 00:53:13 +0100 Subject: [Box Backup-commit] COMMIT r956 - box/chris/merge/lib/win32 Message-ID: Author: chris Date: 2006-09-04 00:53:13 +0100 (Mon, 04 Sep 2006) New Revision: 956 Modified: box/chris/merge/lib/win32/emu.cpp Log: (refs #3) Treat PATH_NOT_FOUND just like FILE_NOT_FOUND in Unix land (errno = ENOENT) Modified: box/chris/merge/lib/win32/emu.cpp =================================================================== --- box/chris/merge/lib/win32/emu.cpp 2006-09-03 23:52:19 UTC (rev 955) +++ box/chris/merge/lib/win32/emu.cpp 2006-09-03 23:53:13 UTC (rev 956) @@ -730,7 +730,8 @@ { DWORD err = GetLastError(); - if (err == ERROR_FILE_NOT_FOUND) + if (err == ERROR_FILE_NOT_FOUND || + err == ERROR_PATH_NOT_FOUND) { errno = ENOENT; } From boxbackup-dev at fluffy.co.uk Mon Sep 4 00:53:13 2006 From: boxbackup-dev at fluffy.co.uk (boxbackup-dev at fluffy.co.uk) Date: Sun, 03 Sep 2006 23:53:13 -0000 Subject: [Box Backup-commit] =?utf-8?q?Re=3A_=233=3A_Merge_Win32_branch?= In-Reply-To: <075.1b7d6133054ee2a6460aa460f0db838a@fluffy.co.uk> References: <075.1b7d6133054ee2a6460aa460f0db838a@fluffy.co.uk> Message-ID: <084.c364dbd06309b82c5cc0d847db8f50b5@fluffy.co.uk> --===============1504914416== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 IzM6IE1lcmdlIFdpbjMyIGJyYW5jaA0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KICBSZXBvcnRlcjog IGNocmlzICAgICB8ICAgICAgIE93bmVyOiAgY2hyaXMgICAgICAgICAgICAgDQogICAgICBUeXBl OiAgdGFzayAgICAgIHwgICAgICBTdGF0dXM6ICBuZXcgICAgICAgICAgICAgICANCiAgUHJpb3Jp dHk6ICBub3JtYWwgICAgfCAgIE1pbGVzdG9uZTogIDAuMTEgICAgICAgICAgICAgIA0KIENvbXBv bmVudDogIGJiYWNrdXBkICB8ICAgICBWZXJzaW9uOiAgdHJ1bmsgICAgICAgICAgICAgDQpSZXNv bHV0aW9uOiAgICAgICAgICAgIHwgICAgS2V5d29yZHM6ICB3aW4zMiBtZXJnZSBicmFuY2gNCi0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0NCkNvbW1lbnQgKGJ5IGNocmlzKToNCg0KIChJbiBbOTU2XSkgKHJl ZnMgIzMpDQoNCiBUcmVhdCBQQVRIX05PVF9GT1VORCBqdXN0IGxpa2UgRklMRV9OT1RfRk9VTkQg aW4gVW5peCBsYW5kIChlcnJubyA9DQogRU5PRU5UKQ0KDQotLSANClRpY2tldCBVUkw6IDxodHRw Oi8vYmJkZXYuZmx1ZmZ5LmNvLnVrL3RyYWMvdGlja2V0LzM+DQpCb3ggQmFja3VwIDxodHRwOi8v d3d3LmZsdWZmeS5jby51ay9ib3hiYWNrdXAvPg0KQW4gb3BlbiBzb3VyY2UsIGNvbXBsZXRlbHkg YXV0b21hdGljIG9uLWxpbmUgYmFja3VwIHN5c3RlbSBmb3IgVU5JWC4= --===============1504914416==-- From subversion at fluffy.co.uk Mon Sep 4 00:55:55 2006 From: subversion at fluffy.co.uk (subversion at fluffy.co.uk) Date: Mon, 04 Sep 2006 00:55:55 +0100 Subject: [Box Backup-commit] COMMIT r957 - box/chris/merge/lib/win32 Message-ID: Author: chris Date: 2006-09-04 00:55:55 +0100 (Mon, 04 Sep 2006) New Revision: 957 Modified: box/chris/merge/lib/win32/emu.cpp Log: (refs #3) Added emulated utimes, chmod, readv and writev Added useful utility functions ConvertFileTimeToTime_t and ConvertTime_tToFileTime Modified: box/chris/merge/lib/win32/emu.cpp =================================================================== --- box/chris/merge/lib/win32/emu.cpp 2006-09-03 23:53:13 UTC (rev 956) +++ box/chris/merge/lib/win32/emu.cpp 2006-09-03 23:55:55 UTC (rev 957) @@ -826,6 +826,115 @@ // -------------------------------------------------------------------------- // // Function +// Name: emu_utimes +// Purpose: replacement for the POSIX utimes() function, +// works with unicode filenames supplied in utf8 format, +// sets creation time instead of last access time. +// Created: 25th July 2006 +// +// -------------------------------------------------------------------------- +int emu_utimes(const char * pName, const struct timeval times[]) +{ + FILETIME creationTime; + if (!ConvertTime_tToFileTime(times[0].tv_sec, &creationTime)) + { + errno = EINVAL; + return -1; + } + + FILETIME modificationTime; + if (!ConvertTime_tToFileTime(times[1].tv_sec, &modificationTime)) + { + errno = EINVAL; + return -1; + } + + HANDLE handle = OpenFileByNameUtf8(pName, FILE_WRITE_ATTRIBUTES); + + if (handle == NULL) + { + // errno already set and error logged by OpenFileByNameUtf8() + return -1; + } + + if (!SetFileTime(handle, &creationTime, NULL, &modificationTime)) + { + ::syslog(LOG_ERR, "Failed to set times on '%s': error %d", + pName, GetLastError()); + CloseHandle(handle); + return 1; + } + + CloseHandle(handle); + return 0; +} + +// -------------------------------------------------------------------------- +// +// Function +// Name: emu_chmod +// Purpose: replacement for the POSIX chmod function, +// works with unicode filenames supplied in utf8 format +// Created: 26th July 2006 +// +// -------------------------------------------------------------------------- +int emu_chmod(const char * pName, mode_t mode) +{ + std::string AbsPathWithUnicode = + ConvertPathToAbsoluteUnicode(pName); + + if (AbsPathWithUnicode.size() == 0) + { + // error already logged by ConvertPathToAbsoluteUnicode() + return -1; + } + + WCHAR* pBuffer = ConvertUtf8ToWideString(AbsPathWithUnicode.c_str()); + // We are responsible for freeing pBuffer + + if (pBuffer == NULL) + { + // error already logged by ConvertUtf8ToWideString() + free(pBuffer); + return -1; + } + + DWORD attribs = GetFileAttributesW(pBuffer); + if (attribs == INVALID_FILE_ATTRIBUTES) + { + ::syslog(LOG_ERR, "Failed to get file attributes of '%s': " + "error %d", pName, GetLastError()); + errno = EACCES; + free(pBuffer); + return -1; + } + + if (mode & S_IWRITE) + { + attribs &= ~FILE_ATTRIBUTE_READONLY; + } + else + { + attribs |= FILE_ATTRIBUTE_READONLY; + } + + if (!SetFileAttributesW(pBuffer, attribs)) + { + ::syslog(LOG_ERR, "Failed to set file attributes of '%s': " + "error %d", pName, GetLastError()); + errno = EACCES; + free(pBuffer); + return -1; + } + + free(pBuffer); + return 0; +} + + +// -------------------------------------------------------------------------- +// +// Function // Name: opendir // Purpose: replacement for unix function, uses win32 findfirst routines // Created: 25th October 2004 @@ -1263,4 +1372,96 @@ return strlen(pBuffer); } +int readv (int filedes, const struct iovec *vector, size_t count) +{ + int bytes = 0; + + for (size_t i = 0; i < count; i++) + { + int result = read(filedes, vector[i].iov_base, + vector[i].iov_len); + if (result < 0) + { + return result; + } + bytes += result; + } + + return bytes; +} + +int writev(int filedes, const struct iovec *vector, size_t count) +{ + int bytes = 0; + + for (size_t i = 0; i < count; i++) + { + int result = write(filedes, vector[i].iov_base, + vector[i].iov_len); + if (result < 0) + { + return result; + } + bytes += result; + } + + return bytes; +} + +// need this for conversions +time_t ConvertFileTimeToTime_t(FILETIME *fileTime) +{ + SYSTEMTIME stUTC; + struct tm timeinfo; + + // Convert the last-write time to local time. + FileTimeToSystemTime(fileTime, &stUTC); + + memset(&timeinfo, 0, sizeof(timeinfo)); + timeinfo.tm_sec = stUTC.wSecond; + timeinfo.tm_min = stUTC.wMinute; + timeinfo.tm_hour = stUTC.wHour; + timeinfo.tm_mday = stUTC.wDay; + timeinfo.tm_wday = stUTC.wDayOfWeek; + timeinfo.tm_mon = stUTC.wMonth - 1; + // timeinfo.tm_yday = ...; + timeinfo.tm_year = stUTC.wYear - 1900; + + time_t retVal = mktime(&timeinfo) - _timezone; + return retVal; +} + +bool ConvertTime_tToFileTime(const time_t from, FILETIME *pTo) +{ + time_t adjusted = from + _timezone; + struct tm *time_breakdown = gmtime(&adjusted); + if (time_breakdown == NULL) + { + ::syslog(LOG_ERR, "Error: failed to convert time format: " + "%d is not a valid time\n", from); + return false; + } + + SYSTEMTIME stUTC; + stUTC.wSecond = time_breakdown->tm_sec; + stUTC.wMinute = time_breakdown->tm_min; + stUTC.wHour = time_breakdown->tm_hour; + stUTC.wDay = time_breakdown->tm_mday; + stUTC.wDayOfWeek = time_breakdown->tm_wday; + stUTC.wMonth = time_breakdown->tm_mon + 1; + stUTC.wYear = time_breakdown->tm_year + 1900; + stUTC.wMilliseconds = 0; + + // Convert the last-write time to local time. + if (!SystemTimeToFileTime(&stUTC, pTo)) + { + syslog(LOG_ERR, "Failed to convert between time formats: " + "error %d", GetLastError()); + return false; + } + + return true; +} + + #endif // WIN32 From boxbackup-dev at fluffy.co.uk Mon Sep 4 00:55:56 2006 From: boxbackup-dev at fluffy.co.uk (boxbackup-dev at fluffy.co.uk) Date: Sun, 03 Sep 2006 23:55:56 -0000 Subject: [Box Backup-commit] =?utf-8?q?Re=3A_=233=3A_Merge_Win32_branch?= In-Reply-To: <075.1b7d6133054ee2a6460aa460f0db838a@fluffy.co.uk> References: <075.1b7d6133054ee2a6460aa460f0db838a@fluffy.co.uk> Message-ID: <084.b011cb21d657713f707b78fa9f873bd5@fluffy.co.uk> --===============0254755930== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 IzM6IE1lcmdlIFdpbjMyIGJyYW5jaA0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KICBSZXBvcnRlcjog IGNocmlzICAgICB8ICAgICAgIE93bmVyOiAgY2hyaXMgICAgICAgICAgICAgDQogICAgICBUeXBl OiAgdGFzayAgICAgIHwgICAgICBTdGF0dXM6ICBuZXcgICAgICAgICAgICAgICANCiAgUHJpb3Jp dHk6ICBub3JtYWwgICAgfCAgIE1pbGVzdG9uZTogIDAuMTEgICAgICAgICAgICAgIA0KIENvbXBv bmVudDogIGJiYWNrdXBkICB8ICAgICBWZXJzaW9uOiAgdHJ1bmsgICAgICAgICAgICAgDQpSZXNv bHV0aW9uOiAgICAgICAgICAgIHwgICAgS2V5d29yZHM6ICB3aW4zMiBtZXJnZSBicmFuY2gNCi0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0NCkNvbW1lbnQgKGJ5IGNocmlzKToNCg0KIChJbiBbOTU3XSkgKHJl ZnMgIzMpDQoNCiBBZGRlZCBlbXVsYXRlZCB1dGltZXMsIGNobW9kLCByZWFkdiBhbmQgd3JpdGV2 DQoNCiBBZGRlZCB1c2VmdWwgdXRpbGl0eSBmdW5jdGlvbnMgQ29udmVydEZpbGVUaW1lVG9UaW1l X3QgYW5kDQogQ29udmVydFRpbWVfdFRvRmlsZVRpbWUNCg0KLS0gDQpUaWNrZXQgVVJMOiA8aHR0 cDovL2JiZGV2LmZsdWZmeS5jby51ay90cmFjL3RpY2tldC8zPg0KQm94IEJhY2t1cCA8aHR0cDov L3d3dy5mbHVmZnkuY28udWsvYm94YmFja3VwLz4NCkFuIG9wZW4gc291cmNlLCBjb21wbGV0ZWx5 IGF1dG9tYXRpYyBvbi1saW5lIGJhY2t1cCBzeXN0ZW0gZm9yIFVOSVgu --===============0254755930==-- From subversion at fluffy.co.uk Mon Sep 4 00:57:08 2006 From: subversion at fluffy.co.uk (subversion at fluffy.co.uk) Date: Mon, 04 Sep 2006 00:57:08 +0100 Subject: [Box Backup-commit] COMMIT r958 - box/chris/merge/lib/win32 Message-ID: Author: chris Date: 2006-09-04 00:57:08 +0100 (Mon, 04 Sep 2006) New Revision: 958 Modified: box/chris/merge/lib/win32/emu.cpp Log: (refs #3) Removed last vestiges of old getopt() Modified: box/chris/merge/lib/win32/emu.cpp =================================================================== --- box/chris/merge/lib/win32/emu.cpp 2006-09-03 23:55:55 UTC (rev 957) +++ box/chris/merge/lib/win32/emu.cpp 2006-09-03 23:57:08 UTC (rev 958) @@ -561,15 +561,6 @@ return hdir; } -// MinGW provides a getopt implementation -#ifndef __MINGW32__ -//works with getopt -char *optarg; -//optind looks like an index into the string - how far we have moved along -int optind = 1; -char nextchar = -1; -#endif - // -------------------------------------------------------------------------- // // Function From boxbackup-dev at fluffy.co.uk Mon Sep 4 00:57:09 2006 From: boxbackup-dev at fluffy.co.uk (boxbackup-dev at fluffy.co.uk) Date: Sun, 03 Sep 2006 23:57:09 -0000 Subject: [Box Backup-commit] =?utf-8?q?Re=3A_=233=3A_Merge_Win32_branch?= In-Reply-To: <075.1b7d6133054ee2a6460aa460f0db838a@fluffy.co.uk> References: <075.1b7d6133054ee2a6460aa460f0db838a@fluffy.co.uk> Message-ID: <084.808d17a356b5efc91c77884f87af162b@fluffy.co.uk> --===============0908539402== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 IzM6IE1lcmdlIFdpbjMyIGJyYW5jaA0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KICBSZXBvcnRlcjog IGNocmlzICAgICB8ICAgICAgIE93bmVyOiAgY2hyaXMgICAgICAgICAgICAgDQogICAgICBUeXBl OiAgdGFzayAgICAgIHwgICAgICBTdGF0dXM6ICBuZXcgICAgICAgICAgICAgICANCiAgUHJpb3Jp dHk6ICBub3JtYWwgICAgfCAgIE1pbGVzdG9uZTogIDAuMTEgICAgICAgICAgICAgIA0KIENvbXBv bmVudDogIGJiYWNrdXBkICB8ICAgICBWZXJzaW9uOiAgdHJ1bmsgICAgICAgICAgICAgDQpSZXNv bHV0aW9uOiAgICAgICAgICAgIHwgICAgS2V5d29yZHM6ICB3aW4zMiBtZXJnZSBicmFuY2gNCi0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0NCkNvbW1lbnQgKGJ5IGNocmlzKToNCg0KIChJbiBbOTU4XSkgKHJl ZnMgIzMpDQoNCiBSZW1vdmVkIGxhc3QgdmVzdGlnZXMgb2Ygb2xkIGdldG9wdCgpDQoNCi0tIA0K VGlja2V0IFVSTDogPGh0dHA6Ly9iYmRldi5mbHVmZnkuY28udWsvdHJhYy90aWNrZXQvMz4NCkJv eCBCYWNrdXAgPGh0dHA6Ly93d3cuZmx1ZmZ5LmNvLnVrL2JveGJhY2t1cC8+DQpBbiBvcGVuIHNv dXJjZSwgY29tcGxldGVseSBhdXRvbWF0aWMgb24tbGluZSBiYWNrdXAgc3lzdGVtIGZvciBVTklY Lg== --===============0908539402==-- From subversion at fluffy.co.uk Mon Sep 4 00:58:43 2006 From: subversion at fluffy.co.uk (subversion at fluffy.co.uk) Date: Mon, 04 Sep 2006 00:58:43 +0100 Subject: [Box Backup-commit] COMMIT r959 - box/chris/merge/lib/win32 Message-ID: Author: chris Date: 2006-09-04 00:58:43 +0100 (Mon, 04 Sep 2006) New Revision: 959 Modified: box/chris/merge/lib/win32/emu.cpp Log: (refs #3) Improved poll() emulation to handle multiple fds Modified: box/chris/merge/lib/win32/emu.cpp =================================================================== --- box/chris/merge/lib/win32/emu.cpp 2006-09-03 23:57:08 UTC (rev 958) +++ box/chris/merge/lib/win32/emu.cpp 2006-09-03 23:58:43 UTC (rev 959) @@ -1079,10 +1079,10 @@ fd_set readfd; fd_set writefd; - readfd.fd_count = 0; - writefd.fd_count = 0; + FD_ZERO(&readfd); + FD_ZERO(&writefd); - struct pollfd *ufdsTmp = ufds; + // struct pollfd *ufdsTmp = ufds; timeval timOut; timeval *tmpptr; @@ -1095,41 +1095,61 @@ timOut.tv_sec = timeout / 1000; timOut.tv_usec = timeout * 1000; - if (ufds->events & POLLIN) + for (unsigned long i = 0; i < nfds; i++) { - for (unsigned long i = 0; i < nfds; i++) + struct pollfd* ufd = &(ufds[i]); + + if (ufd->events & POLLIN) { - readfd.fd_array[i] = ufdsTmp->fd; - readfd.fd_count++; + FD_SET(ufd->fd, &readfd); } - } - if (ufds->events & POLLOUT) - { - for (unsigned long i = 0; i < nfds; i++) + if (ufd->events & POLLOUT) { + FD_SET(ufd->fd, &writefd); + } - writefd.fd_array[i]=ufdsTmp->fd; - writefd.fd_count++; + if (ufd->events & ~(POLLIN | POLLOUT)) + { + printf("Unsupported poll bits %d", + ufd->events); + return -1; } } - int noffds = select(0, &readfd, &writefd, 0, tmpptr); + int nready = select(0, &readfd, &writefd, 0, tmpptr); - if (noffds == SOCKET_ERROR) + if (nready == SOCKET_ERROR) { // int errval = WSAGetLastError(); - ufdsTmp = ufds; + struct pollfd* pufd = ufds; for (unsigned long i = 0; i < nfds; i++) { - ufdsTmp->revents = POLLERR; - ufdsTmp++; + pufd->revents = POLLERR; + pufd++; } return (-1); } + else if (nready > 0) + { + for (unsigned long i = 0; i < nfds; i++) + { + struct pollfd *ufd = &(ufds[i]); - return noffds; + if (FD_ISSET(ufd->fd, &readfd)) + { + ufd->revents |= POLLIN; + } + + if (FD_ISSET(ufd->fd, &writefd)) + { + ufd->revents |= POLLOUT; + } + } + } + + return nready; } catch (...) { From boxbackup-dev at fluffy.co.uk Mon Sep 4 00:58:43 2006 From: boxbackup-dev at fluffy.co.uk (boxbackup-dev at fluffy.co.uk) Date: Sun, 03 Sep 2006 23:58:43 -0000 Subject: [Box Backup-commit] =?utf-8?q?Re=3A_=233=3A_Merge_Win32_branch?= In-Reply-To: <075.1b7d6133054ee2a6460aa460f0db838a@fluffy.co.uk> References: <075.1b7d6133054ee2a6460aa460f0db838a@fluffy.co.uk> Message-ID: <084.7b204d50842be34498ab72f613c06347@fluffy.co.uk> --===============0926300033== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 IzM6IE1lcmdlIFdpbjMyIGJyYW5jaA0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KICBSZXBvcnRlcjog IGNocmlzICAgICB8ICAgICAgIE93bmVyOiAgY2hyaXMgICAgICAgICAgICAgDQogICAgICBUeXBl OiAgdGFzayAgICAgIHwgICAgICBTdGF0dXM6ICBuZXcgICAgICAgICAgICAgICANCiAgUHJpb3Jp dHk6ICBub3JtYWwgICAgfCAgIE1pbGVzdG9uZTogIDAuMTEgICAgICAgICAgICAgIA0KIENvbXBv bmVudDogIGJiYWNrdXBkICB8ICAgICBWZXJzaW9uOiAgdHJ1bmsgICAgICAgICAgICAgDQpSZXNv bHV0aW9uOiAgICAgICAgICAgIHwgICAgS2V5d29yZHM6ICB3aW4zMiBtZXJnZSBicmFuY2gNCi0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0NCkNvbW1lbnQgKGJ5IGNocmlzKToNCg0KIChJbiBbOTU5XSkgKHJl ZnMgIzMpDQoNCiBJbXByb3ZlZCBwb2xsKCkgZW11bGF0aW9uIHRvIGhhbmRsZSBtdWx0aXBsZSBm ZHMNCg0KLS0gDQpUaWNrZXQgVVJMOiA8aHR0cDovL2JiZGV2LmZsdWZmeS5jby51ay90cmFjL3Rp Y2tldC8zPg0KQm94IEJhY2t1cCA8aHR0cDovL3d3dy5mbHVmZnkuY28udWsvYm94YmFja3VwLz4N CkFuIG9wZW4gc291cmNlLCBjb21wbGV0ZWx5IGF1dG9tYXRpYyBvbi1saW5lIGJhY2t1cCBzeXN0 ZW0gZm9yIFVOSVgu --===============0926300033==-- From subversion at fluffy.co.uk Mon Sep 4 01:02:12 2006 From: subversion at fluffy.co.uk (subversion at fluffy.co.uk) Date: Mon, 04 Sep 2006 01:02:12 +0100 Subject: [Box Backup-commit] COMMIT r960 - box/chris/merge/lib/win32 Message-ID: Author: chris Date: 2006-09-04 01:02:12 +0100 (Mon, 04 Sep 2006) New Revision: 960 Modified: box/chris/merge/lib/win32/emu.cpp box/chris/merge/lib/win32/emu.h Log: (refs #3) Fixed looking up message source in syslog() Flush stdout after writing to it Allow syslog() to log to console even when openlog() has not been called Modified: box/chris/merge/lib/win32/emu.cpp =================================================================== --- box/chris/merge/lib/win32/emu.cpp 2006-09-03 23:58:43 UTC (rev 959) +++ box/chris/merge/lib/win32/emu.cpp 2006-09-04 00:02:12 UTC (rev 960) @@ -1159,9 +1159,147 @@ return -1; } -HANDLE gSyslogH = 0; +// copied from MSDN: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/eventlog/base/adding_a_source_to_the_registry.asp + +BOOL AddEventSource +( + LPTSTR pszSrcName, // event source name + DWORD dwNum // number of categories +) +{ + // Work out the executable file name, to register ourselves + // as the event source + + char cmd[MAX_PATH]; + if (GetModuleFileName(NULL, cmd, sizeof(cmd)-1) == 0) + { + ::syslog(LOG_ERR, "Failed to get the program file name: " + "error %d", GetLastError()); + return FALSE; + } + cmd[sizeof(cmd)-1] = 0; + std::string exepath(cmd); + + // Create the event source as a subkey of the log. + + std::string regkey("SYSTEM\\CurrentControlSet\\Services\\EventLog\\" + "Application\\"); + regkey += pszSrcName; + + HKEY hk; + DWORD dwDisp; + + if (RegCreateKeyEx(HKEY_LOCAL_MACHINE, regkey.c_str(), + 0, NULL, REG_OPTION_NON_VOLATILE, + KEY_WRITE, NULL, &hk, &dwDisp)) + { + ::syslog(LOG_ERR, "Failed to create the registry key: " + "error %d", GetLastError()); + return FALSE; + } + + // Set the name of the message file. + + if (RegSetValueEx(hk, // subkey handle + "EventMessageFile", // value name + 0, // must be zero + REG_EXPAND_SZ, // value type + (LPBYTE) exepath.c_str(), // pointer to value data + (DWORD) (exepath.size()))) // data size + { + ::syslog(LOG_ERR, "Failed to set the event message file: " + "error %d", GetLastError()); + RegCloseKey(hk); + return FALSE; + } + + // Set the supported event types. + + DWORD dwData = EVENTLOG_ERROR_TYPE | EVENTLOG_WARNING_TYPE | + EVENTLOG_INFORMATION_TYPE; + + if (RegSetValueEx(hk, // subkey handle + "TypesSupported", // value name + 0, // must be zero + REG_DWORD, // value type + (LPBYTE) &dwData, // pointer to value data + sizeof(DWORD))) // length of value data + { + ::syslog(LOG_ERR, "Failed to set the supported types: " + "error %d", GetLastError()); + RegCloseKey(hk); + return FALSE; + } + + // Set the category message file and number of categories. + + if (RegSetValueEx(hk, // subkey handle + "CategoryMessageFile", // value name + 0, // must be zero + REG_EXPAND_SZ, // value type + (LPBYTE) exepath.c_str(), // pointer to value data + (DWORD) (exepath.size()))) // data size + { + ::syslog(LOG_ERR, "Failed to set the category message file: " + "error %d", GetLastError()); + RegCloseKey(hk); + return FALSE; + } + + if (RegSetValueEx(hk, // subkey handle + "CategoryCount", // value name + 0, // must be zero + REG_DWORD, // value type + (LPBYTE) &dwNum, // pointer to value data + sizeof(DWORD))) // length of value data + { + ::syslog(LOG_ERR, "Failed to set the category count: " + "error %d", GetLastError()); + RegCloseKey(hk); + return FALSE; + } + + RegCloseKey(hk); + return TRUE; +} + +static HANDLE gSyslogH = 0; static bool sHaveWarnedEventLogFull = false; +void openlog(const char * daemonName, int, int) +{ + // register a default event source, so that we can + // log errors with the process of adding or registering our own. + gSyslogH = RegisterEventSource( + NULL, // uses local computer + daemonName); // source name + if (gSyslogH == NULL) + { + } + + if (!AddEventSource("Box Backup", 0)) + { + ::syslog(LOG_ERR, "Failed to add our own event source"); + return; + } + + HANDLE newSyslogH = RegisterEventSource(NULL, "Box Backup"); + if (newSyslogH == NULL) + { + ::syslog(LOG_ERR, "Failed to register our own event source: " + "error %d", GetLastError()); + return; + } + + DeregisterEventSource(gSyslogH); + gSyslogH = newSyslogH; +} + +void closelog(void) +{ + DeregisterEventSource(gSyslogH); +} + void syslog(int loglevel, const char *frmt, ...) { WORD errinfo; @@ -1201,17 +1339,32 @@ va_start(args, frmt); int len = vsnprintf(buffer, sizeof(buffer)-1, sixfour.c_str(), args); - ASSERT(len < sizeof(buffer)) + assert(len >= 0); + if (len < 0) + { + printf("%s\r\n", buffer); + fflush(stdout); + return; + } + + assert((size_t)len < sizeof(buffer)); buffer[sizeof(buffer)-1] = 0; va_end(args); LPCSTR strings[] = { buffer, NULL }; + if (gSyslogH == 0) + { + printf("%s\r\n", buffer); + fflush(stdout); + return; + } + if (!ReportEvent(gSyslogH, // event log handle errinfo, // event type 0, // category zero - MSG_ERR_EXIST, // event identifier - + MSG_ERR, // event identifier - // we will call them all the same NULL, // no user security identifier 1, // one substitution string @@ -1227,6 +1380,7 @@ { printf("Unable to send message to Event Log " "(Event Log is full):\r\n"); + fflush(stdout); sHaveWarnedEventLogFull = TRUE; } } @@ -1234,6 +1388,7 @@ { printf("Unable to send message to Event Log: " "error %i:\r\n", (int)err); + fflush(stdout); } } else @@ -1242,6 +1397,7 @@ } printf("%s\r\n", buffer); + fflush(stdout); } int emu_chdir(const char* pDirName) Modified: box/chris/merge/lib/win32/emu.h =================================================================== --- box/chris/merge/lib/win32/emu.h 2006-09-03 23:58:43 UTC (rev 959) +++ box/chris/merge/lib/win32/emu.h 2006-09-04 00:02:12 UTC (rev 960) @@ -354,27 +354,13 @@ #define LOG_WARNING 4 #define LOG_ERR 3 #define LOG_PID 0 +#define LOG_LOCAL5 0 #define LOG_LOCAL6 0 -extern HANDLE gSyslogH; -void MyReportEvent(LPCTSTR *szMsg, DWORD errinfo); -inline void openlog(const char * daemonName, int, int) -{ - gSyslogH = RegisterEventSource( - NULL, // uses local computer - daemonName); // source name - if (gSyslogH == NULL) - { - } -} +void openlog (const char * daemonName, int, int); +void closelog(void); +void syslog (int loglevel, const char *fmt, ...); -inline void closelog(void) -{ - DeregisterEventSource(gSyslogH); -} - -void syslog(int loglevel, const char *fmt, ...); - #ifndef __MINGW32__ #define strtoll _strtoi64 #endif @@ -493,13 +479,6 @@ bool ConvertUtf8ToConsole(const char* pString, std::string& rDest); bool ConvertConsoleToUtf8(const char* pString, std::string& rDest); -// -// MessageId: MSG_ERR_EXIST -// MessageText: -// Box Backup. -// -#define MSG_ERR_EXIST ((DWORD)0xC0000004L) - // replacement for _cgetws which requires a relatively recent C runtime lib int console_read(char* pBuffer, size_t BufferSize); From boxbackup-dev at fluffy.co.uk Mon Sep 4 01:02:13 2006 From: boxbackup-dev at fluffy.co.uk (boxbackup-dev at fluffy.co.uk) Date: Mon, 04 Sep 2006 00:02:13 -0000 Subject: [Box Backup-commit] =?utf-8?q?Re=3A_=233=3A_Merge_Win32_branch?= In-Reply-To: <075.1b7d6133054ee2a6460aa460f0db838a@fluffy.co.uk> References: <075.1b7d6133054ee2a6460aa460f0db838a@fluffy.co.uk> Message-ID: <084.f8f7853ff684befc05f9d7c775138ae1@fluffy.co.uk> --===============0726325886== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 IzM6IE1lcmdlIFdpbjMyIGJyYW5jaA0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KICBSZXBvcnRlcjog IGNocmlzICAgICB8ICAgICAgIE93bmVyOiAgY2hyaXMgICAgICAgICAgICAgDQogICAgICBUeXBl OiAgdGFzayAgICAgIHwgICAgICBTdGF0dXM6ICBuZXcgICAgICAgICAgICAgICANCiAgUHJpb3Jp dHk6ICBub3JtYWwgICAgfCAgIE1pbGVzdG9uZTogIDAuMTEgICAgICAgICAgICAgIA0KIENvbXBv bmVudDogIGJiYWNrdXBkICB8ICAgICBWZXJzaW9uOiAgdHJ1bmsgICAgICAgICAgICAgDQpSZXNv bHV0aW9uOiAgICAgICAgICAgIHwgICAgS2V5d29yZHM6ICB3aW4zMiBtZXJnZSBicmFuY2gNCi0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0NCkNvbW1lbnQgKGJ5IGNocmlzKToNCg0KIChJbiBbOTYwXSkgKHJl ZnMgIzMpDQoNCiBGaXhlZCBsb29raW5nIHVwIG1lc3NhZ2Ugc291cmNlIGluIHN5c2xvZygpDQoN CiBGbHVzaCBzdGRvdXQgYWZ0ZXIgd3JpdGluZyB0byBpdA0KDQogQWxsb3cgc3lzbG9nKCkgdG8g bG9nIHRvIGNvbnNvbGUgZXZlbiB3aGVuIG9wZW5sb2coKSBoYXMgbm90IGJlZW4gY2FsbGVkDQoN Ci0tIA0KVGlja2V0IFVSTDogPGh0dHA6Ly9iYmRldi5mbHVmZnkuY28udWsvdHJhYy90aWNrZXQv Mz4NCkJveCBCYWNrdXAgPGh0dHA6Ly93d3cuZmx1ZmZ5LmNvLnVrL2JveGJhY2t1cC8+DQpBbiBv cGVuIHNvdXJjZSwgY29tcGxldGVseSBhdXRvbWF0aWMgb24tbGluZSBiYWNrdXAgc3lzdGVtIGZv ciBVTklYLg== --===============0726325886==-- From subversion at fluffy.co.uk Mon Sep 4 01:03:28 2006 From: subversion at fluffy.co.uk (subversion at fluffy.co.uk) Date: Mon, 04 Sep 2006 01:03:28 +0100 Subject: [Box Backup-commit] COMMIT r961 - box/chris/merge/lib/win32 Message-ID: Author: chris Date: 2006-09-04 01:03:28 +0100 (Mon, 04 Sep 2006) New Revision: 961 Modified: box/chris/merge/lib/win32/emu.cpp Log: (refs #3) Emulated chdir, mkdir and unlink should handle file names in UTF-8 as well Modified: box/chris/merge/lib/win32/emu.cpp =================================================================== --- box/chris/merge/lib/win32/emu.cpp 2006-09-04 00:02:12 UTC (rev 960) +++ box/chris/merge/lib/win32/emu.cpp 2006-09-04 00:03:28 UTC (rev 961) @@ -1402,7 +1402,16 @@ int emu_chdir(const char* pDirName) { - WCHAR* pBuffer = ConvertUtf8ToWideString(pDirName); + std::string AbsPathWithUnicode = + ConvertPathToAbsoluteUnicode(pDirName); + + if (AbsPathWithUnicode.size() == 0) + { + // error already logged by ConvertPathToAbsoluteUnicode() + return -1; + } + + WCHAR* pBuffer = ConvertUtf8ToWideString(AbsPathWithUnicode.c_str()); if (!pBuffer) return -1; int result = SetCurrentDirectoryW(pBuffer); delete [] pBuffer; @@ -1420,7 +1429,7 @@ return NULL; } - if (len > BufSize) + if ((int)len > BufSize) { errno = ENAMETOOLONG; return NULL; @@ -1457,7 +1466,16 @@ int emu_mkdir(const char* pPathName) { - WCHAR* pBuffer = ConvertToWideString(pPathName, CP_UTF8); + std::string AbsPathWithUnicode = + ConvertPathToAbsoluteUnicode(pPathName); + + if (AbsPathWithUnicode.size() == 0) + { + // error already logged by ConvertPathToAbsoluteUnicode() + return -1; + } + + WCHAR* pBuffer = ConvertUtf8ToWideString(AbsPathWithUnicode.c_str()); if (!pBuffer) { return -1; @@ -1477,18 +1495,45 @@ int emu_unlink(const char* pFileName) { - WCHAR* pBuffer = ConvertToWideString(pFileName, CP_UTF8); + std::string AbsPathWithUnicode = + ConvertPathToAbsoluteUnicode(pFileName); + + if (AbsPathWithUnicode.size() == 0) + { + // error already logged by ConvertPathToAbsoluteUnicode() + return -1; + } + + WCHAR* pBuffer = ConvertUtf8ToWideString(AbsPathWithUnicode.c_str()); if (!pBuffer) { return -1; } BOOL result = DeleteFileW(pBuffer); + DWORD err = GetLastError(); delete [] pBuffer; if (!result) { - errno = EACCES; + if (err == ERROR_FILE_NOT_FOUND || err == ERROR_PATH_NOT_FOUND) + { + errno = ENOENT; + } + else if (err == ERROR_SHARING_VIOLATION) + { + errno = EBUSY; + } + else if (err == ERROR_ACCESS_DENIED) + { + errno = EACCES; + } + else + { + ::syslog(LOG_WARNING, "Failed to delete file " + "'%s': error %d", pFileName, (int)err); + errno = ENOSYS; + } return -1; } From boxbackup-dev at fluffy.co.uk Mon Sep 4 01:03:28 2006 From: boxbackup-dev at fluffy.co.uk (boxbackup-dev at fluffy.co.uk) Date: Mon, 04 Sep 2006 00:03:28 -0000 Subject: [Box Backup-commit] =?utf-8?q?Re=3A_=233=3A_Merge_Win32_branch?= In-Reply-To: <075.1b7d6133054ee2a6460aa460f0db838a@fluffy.co.uk> References: <075.1b7d6133054ee2a6460aa460f0db838a@fluffy.co.uk> Message-ID: <084.c8e90ac3f499412f36f2460c186c32a2@fluffy.co.uk> --===============1739806760== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 IzM6IE1lcmdlIFdpbjMyIGJyYW5jaA0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KICBSZXBvcnRlcjog IGNocmlzICAgICB8ICAgICAgIE93bmVyOiAgY2hyaXMgICAgICAgICAgICAgDQogICAgICBUeXBl OiAgdGFzayAgICAgIHwgICAgICBTdGF0dXM6ICBuZXcgICAgICAgICAgICAgICANCiAgUHJpb3Jp dHk6ICBub3JtYWwgICAgfCAgIE1pbGVzdG9uZTogIDAuMTEgICAgICAgICAgICAgIA0KIENvbXBv bmVudDogIGJiYWNrdXBkICB8ICAgICBWZXJzaW9uOiAgdHJ1bmsgICAgICAgICAgICAgDQpSZXNv bHV0aW9uOiAgICAgICAgICAgIHwgICAgS2V5d29yZHM6ICB3aW4zMiBtZXJnZSBicmFuY2gNCi0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0NCkNvbW1lbnQgKGJ5IGNocmlzKToNCg0KIChJbiBbOTYxXSkgKHJl ZnMgIzMpDQoNCiBFbXVsYXRlZCBjaGRpciwgbWtkaXIgYW5kIHVubGluayBzaG91bGQgaGFuZGxl IGZpbGUgbmFtZXMgaW4gVVRGLTggYXMgd2VsbA0KDQotLSANClRpY2tldCBVUkw6IDxodHRwOi8v YmJkZXYuZmx1ZmZ5LmNvLnVrL3RyYWMvdGlja2V0LzM+DQpCb3ggQmFja3VwIDxodHRwOi8vd3d3 LmZsdWZmeS5jby51ay9ib3hiYWNrdXAvPg0KQW4gb3BlbiBzb3VyY2UsIGNvbXBsZXRlbHkgYXV0 b21hdGljIG9uLWxpbmUgYmFja3VwIHN5c3RlbSBmb3IgVU5JWC4= --===============1739806760==-- From subversion at fluffy.co.uk Mon Sep 4 01:05:09 2006 From: subversion at fluffy.co.uk (subversion at fluffy.co.uk) Date: Mon, 04 Sep 2006 01:05:09 +0100 Subject: [Box Backup-commit] COMMIT r962 - box/chris/merge/lib/win32 Message-ID: Author: chris Date: 2006-09-04 01:05:08 +0100 (Mon, 04 Sep 2006) New Revision: 962 Modified: box/chris/merge/lib/win32/emu.cpp box/chris/merge/lib/win32/emu.h Log: (refs #3) Emulate readdir's d_type field Modified: box/chris/merge/lib/win32/emu.cpp =================================================================== --- box/chris/merge/lib/win32/emu.cpp 2006-09-04 00:03:28 UTC (rev 961) +++ box/chris/merge/lib/win32/emu.cpp 2006-09-04 00:05:08 UTC (rev 962) @@ -1002,7 +1002,7 @@ if (!dp->result.d_name || _wfindnext(dp->fd, &dp->info) != -1) { - den = &dp->result; + den = &dp->result; std::wstring input(dp->info.name); memset(tempbuff, 0, sizeof(tempbuff)); WideCharToMultiByte(CP_UTF8, 0, dp->info.name, @@ -1010,6 +1010,14 @@ NULL, NULL); //den->d_name = (char *)dp->info.name; den->d_name = &tempbuff[0]; + if (dp->info.attrib & FILE_ATTRIBUTE_DIRECTORY) + { + den->d_type = S_IFDIR; + } + else + { + den->d_type = S_IFREG; + } } } else Modified: box/chris/merge/lib/win32/emu.h =================================================================== --- box/chris/merge/lib/win32/emu.h 2006-09-04 00:03:28 UTC (rev 961) +++ box/chris/merge/lib/win32/emu.h 2006-09-04 00:05:08 UTC (rev 962) @@ -329,9 +329,14 @@ } #endif +#ifdef _DIRENT_H_ +#error You must not include MinGW's dirent.h! +#endif + struct dirent { char *d_name; + unsigned long d_type; }; struct DIR From boxbackup-dev at fluffy.co.uk Mon Sep 4 01:05:10 2006 From: boxbackup-dev at fluffy.co.uk (boxbackup-dev at fluffy.co.uk) Date: Mon, 04 Sep 2006 00:05:10 -0000 Subject: [Box Backup-commit] =?utf-8?q?Re=3A_=233=3A_Merge_Win32_branch?= In-Reply-To: <075.1b7d6133054ee2a6460aa460f0db838a@fluffy.co.uk> References: <075.1b7d6133054ee2a6460aa460f0db838a@fluffy.co.uk> Message-ID: <084.08f5cde99ecce95fc5c42f872dd53683@fluffy.co.uk> --===============1938671460== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 IzM6IE1lcmdlIFdpbjMyIGJyYW5jaA0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KICBSZXBvcnRlcjog IGNocmlzICAgICB8ICAgICAgIE93bmVyOiAgY2hyaXMgICAgICAgICAgICAgDQogICAgICBUeXBl OiAgdGFzayAgICAgIHwgICAgICBTdGF0dXM6ICBuZXcgICAgICAgICAgICAgICANCiAgUHJpb3Jp dHk6ICBub3JtYWwgICAgfCAgIE1pbGVzdG9uZTogIDAuMTEgICAgICAgICAgICAgIA0KIENvbXBv bmVudDogIGJiYWNrdXBkICB8ICAgICBWZXJzaW9uOiAgdHJ1bmsgICAgICAgICAgICAgDQpSZXNv bHV0aW9uOiAgICAgICAgICAgIHwgICAgS2V5d29yZHM6ICB3aW4zMiBtZXJnZSBicmFuY2gNCi0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0NCkNvbW1lbnQgKGJ5IGNocmlzKToNCg0KIChJbiBbOTYyXSkgKHJl ZnMgIzMpDQoNCiBFbXVsYXRlIHJlYWRkaXIncyBkX3R5cGUgZmllbGQNCg0KLS0gDQpUaWNrZXQg VVJMOiA8aHR0cDovL2JiZGV2LmZsdWZmeS5jby51ay90cmFjL3RpY2tldC8zPg0KQm94IEJhY2t1 cCA8aHR0cDovL3d3dy5mbHVmZnkuY28udWsvYm94YmFja3VwLz4NCkFuIG9wZW4gc291cmNlLCBj b21wbGV0ZWx5IGF1dG9tYXRpYyBvbi1saW5lIGJhY2t1cCBzeXN0ZW0gZm9yIFVOSVgu --===============1938671460==-- From subversion at fluffy.co.uk Mon Sep 4 01:06:56 2006 From: subversion at fluffy.co.uk (subversion at fluffy.co.uk) Date: Mon, 04 Sep 2006 01:06:56 +0100 Subject: [Box Backup-commit] COMMIT r963 - box/chris/merge/lib/win32 Message-ID: Author: chris Date: 2006-09-04 01:06:56 +0100 (Mon, 04 Sep 2006) New Revision: 963 Modified: box/chris/merge/lib/win32/emu.h Log: (refs #3) Remove more vestiges of old getopt Modified: box/chris/merge/lib/win32/emu.h =================================================================== --- box/chris/merge/lib/win32/emu.h 2006-09-04 00:05:08 UTC (rev 962) +++ box/chris/merge/lib/win32/emu.h 2006-09-04 00:06:56 UTC (rev 963) @@ -227,59 +227,7 @@ // MinGW provides a getopt implementation #ifndef __MINGW32__ - -// this will need to be implemented if we see fit that command line -// options are going to be used! (probably then:) -// where the calling function looks for the parsed parameter -extern char *optarg; - -// optind looks like an index into the string - how far we have moved along -extern int optind; -extern char nextchar; - -inline int getopt(int count, char * const * args, const char * tolookfor) -{ - if (optind >= count) return -1; - - std::string str((const char *)args[optind]); - std::string interestin(tolookfor); - int opttolookfor = 0; - int index = -1; - // just initialize the string - just in case it is used. - // optarg[0] = 0; - std::string opt; - - if (count == 0) return -1; - - do - { - if (index != -1) - { - str = str.substr(index+1, str.size()); - } - - index = (int)str.find('-'); - - if (index == -1) return -1; - - opt = str[1]; - - optind ++; - str = args[optind]; - } - while ((opttolookfor = (int)interestin.find(opt)) == -1); - - if (interestin[opttolookfor+1] == ':') - { - - // strcpy(optarg, str.c_str()); - optarg = args[optind]; - optind ++; - } - - // indicate we have finished - return opt[0]; -} +#include "getopt.h" #endif // !__MINGW32__ #define timespec timeval From boxbackup-dev at fluffy.co.uk Mon Sep 4 01:06:57 2006 From: boxbackup-dev at fluffy.co.uk (boxbackup-dev at fluffy.co.uk) Date: Mon, 04 Sep 2006 00:06:57 -0000 Subject: [Box Backup-commit] =?utf-8?q?Re=3A_=233=3A_Merge_Win32_branch?= In-Reply-To: <075.1b7d6133054ee2a6460aa460f0db838a@fluffy.co.uk> References: <075.1b7d6133054ee2a6460aa460f0db838a@fluffy.co.uk> Message-ID: <084.0dac2578858a868fc66d9b93013cc067@fluffy.co.uk> --===============1765380328== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 IzM6IE1lcmdlIFdpbjMyIGJyYW5jaA0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KICBSZXBvcnRlcjog IGNocmlzICAgICB8ICAgICAgIE93bmVyOiAgY2hyaXMgICAgICAgICAgICAgDQogICAgICBUeXBl OiAgdGFzayAgICAgIHwgICAgICBTdGF0dXM6ICBuZXcgICAgICAgICAgICAgICANCiAgUHJpb3Jp dHk6ICBub3JtYWwgICAgfCAgIE1pbGVzdG9uZTogIDAuMTEgICAgICAgICAgICAgIA0KIENvbXBv bmVudDogIGJiYWNrdXBkICB8ICAgICBWZXJzaW9uOiAgdHJ1bmsgICAgICAgICAgICAgDQpSZXNv bHV0aW9uOiAgICAgICAgICAgIHwgICAgS2V5d29yZHM6ICB3aW4zMiBtZXJnZSBicmFuY2gNCi0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0NCkNvbW1lbnQgKGJ5IGNocmlzKToNCg0KIChJbiBbOTYzXSkgKHJl ZnMgIzMpDQoNCiBSZW1vdmUgbW9yZSB2ZXN0aWdlcyBvZiBvbGQgZ2V0b3B0DQoNCi0tIA0KVGlj a2V0IFVSTDogPGh0dHA6Ly9iYmRldi5mbHVmZnkuY28udWsvdHJhYy90aWNrZXQvMz4NCkJveCBC YWNrdXAgPGh0dHA6Ly93d3cuZmx1ZmZ5LmNvLnVrL2JveGJhY2t1cC8+DQpBbiBvcGVuIHNvdXJj ZSwgY29tcGxldGVseSBhdXRvbWF0aWMgb24tbGluZSBiYWNrdXAgc3lzdGVtIGZvciBVTklYLg== --===============1765380328==-- From subversion at fluffy.co.uk Mon Sep 4 01:08:37 2006 From: subversion at fluffy.co.uk (subversion at fluffy.co.uk) Date: Mon, 04 Sep 2006 01:08:37 +0100 Subject: [Box Backup-commit] COMMIT r964 - box/chris/merge/lib/win32 Message-ID: Author: chris Date: 2006-09-04 01:08:36 +0100 (Mon, 04 Sep 2006) New Revision: 964 Modified: box/chris/merge/lib/win32/emu.h Log: (refs #3) Added prototypes for new emulated functions emu_utimes, readv and writev Modified: box/chris/merge/lib/win32/emu.h =================================================================== --- box/chris/merge/lib/win32/emu.h 2006-09-04 00:06:56 UTC (rev 963) +++ box/chris/merge/lib/win32/emu.h 2006-09-04 00:08:36 UTC (rev 964) @@ -132,14 +132,6 @@ #define S_ISDIR(x) (S_IFDIR & x) #endif -inline int utimes(const char * Filename, timeval[]) -{ - //again I am guessing this is quite important to - //be functioning, as large restores would be a problem - - //indicate success - return 0; -} inline int chown(const char * Filename, u_int32_t uid, u_int32_t gid) { //important - this needs implementing @@ -159,23 +151,20 @@ int emu_chdir (const char* pDirName); int emu_unlink(const char* pFileName); char* emu_getcwd(char* pBuffer, int BufSize); +int emu_utimes(const char* pName, const struct timeval[]); +int emu_chmod (const char* pName, mode_t mode); -#ifdef _MSC_VER - inline int emu_chmod(const char * Filename, int mode) - { - // indicate success - return 0; - } +#define utimes(buffer, times) emu_utimes(buffer, times) - #define chmod(file, mode) emu_chmod(file, mode) - #define chdir(directory) emu_chdir(directory) - #define unlink(file) emu_unlink(file) - #define getcwd(buffer, size) emu_getcwd(buffer, size) +#ifdef _MSC_VER + #define chmod(file, mode) emu_chmod(file, mode) + #define chdir(directory) emu_chdir(directory) + #define unlink(file) emu_unlink(file) + #define getcwd(buffer, size) emu_getcwd(buffer, size) #else - inline int chmod(const char * Filename, int mode) + inline int chmod(const char * pName, mode_t mode) { - // indicate success - return 0; + return emu_chmod(pName, mode); } inline int chdir(const char* pDirName) @@ -435,4 +424,12 @@ // replacement for _cgetws which requires a relatively recent C runtime lib int console_read(char* pBuffer, size_t BufferSize); +struct iovec { + void *iov_base; /* Starting address */ + size_t iov_len; /* Number of bytes */ +}; + +int readv (int filedes, const struct iovec *vector, size_t count); +int writev(int filedes, const struct iovec *vector, size_t count); + #endif // !EMU_INCLUDE && WIN32 From boxbackup-dev at fluffy.co.uk Mon Sep 4 01:08:37 2006 From: boxbackup-dev at fluffy.co.uk (boxbackup-dev at fluffy.co.uk) Date: Mon, 04 Sep 2006 00:08:37 -0000 Subject: [Box Backup-commit] =?utf-8?q?Re=3A_=233=3A_Merge_Win32_branch?= In-Reply-To: <075.1b7d6133054ee2a6460aa460f0db838a@fluffy.co.uk> References: <075.1b7d6133054ee2a6460aa460f0db838a@fluffy.co.uk> Message-ID: <084.aeafe2bf73803c9b4dcbd183cfcb25ec@fluffy.co.uk> --===============2015834710== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 IzM6IE1lcmdlIFdpbjMyIGJyYW5jaA0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KICBSZXBvcnRlcjog IGNocmlzICAgICB8ICAgICAgIE93bmVyOiAgY2hyaXMgICAgICAgICAgICAgDQogICAgICBUeXBl OiAgdGFzayAgICAgIHwgICAgICBTdGF0dXM6ICBuZXcgICAgICAgICAgICAgICANCiAgUHJpb3Jp dHk6ICBub3JtYWwgICAgfCAgIE1pbGVzdG9uZTogIDAuMTEgICAgICAgICAgICAgIA0KIENvbXBv bmVudDogIGJiYWNrdXBkICB8ICAgICBWZXJzaW9uOiAgdHJ1bmsgICAgICAgICAgICAgDQpSZXNv bHV0aW9uOiAgICAgICAgICAgIHwgICAgS2V5d29yZHM6ICB3aW4zMiBtZXJnZSBicmFuY2gNCi0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0NCkNvbW1lbnQgKGJ5IGNocmlzKToNCg0KIChJbiBbOTY0XSkgKHJl ZnMgIzMpDQoNCiBBZGRlZCBwcm90b3R5cGVzIGZvciBuZXcgZW11bGF0ZWQgZnVuY3Rpb25zIGVt dV91dGltZXMsIHJlYWR2IGFuZCB3cml0ZXYNCg0KLS0gDQpUaWNrZXQgVVJMOiA8aHR0cDovL2Ji ZGV2LmZsdWZmeS5jby51ay90cmFjL3RpY2tldC8zPg0KQm94IEJhY2t1cCA8aHR0cDovL3d3dy5m bHVmZnkuY28udWsvYm94YmFja3VwLz4NCkFuIG9wZW4gc291cmNlLCBjb21wbGV0ZWx5IGF1dG9t YXRpYyBvbi1saW5lIGJhY2t1cCBzeXN0ZW0gZm9yIFVOSVgu --===============2015834710==-- From subversion at fluffy.co.uk Mon Sep 4 01:09:26 2006 From: subversion at fluffy.co.uk (subversion at fluffy.co.uk) Date: Mon, 04 Sep 2006 01:09:26 +0100 Subject: [Box Backup-commit] COMMIT r965 - box/chris/merge/lib/win32 Message-ID: Author: chris Date: 2006-09-04 01:09:26 +0100 (Mon, 04 Sep 2006) New Revision: 965 Modified: box/chris/merge/lib/win32/emu.h Log: (refs #3) Remove inline ConvertFileTimeToTime_t, add prototypes for new versions in emu.cpp Modified: box/chris/merge/lib/win32/emu.h =================================================================== --- box/chris/merge/lib/win32/emu.h 2006-09-04 00:08:36 UTC (rev 964) +++ box/chris/merge/lib/win32/emu.h 2006-09-04 00:09:26 UTC (rev 965) @@ -372,30 +372,10 @@ int emu_fstat(HANDLE file, struct stat * st); int statfs(const char * name, struct statfs * s); -//need this for converstions -inline time_t ConvertFileTimeToTime_t(FILETIME *fileTime) -{ - SYSTEMTIME stUTC; - struct tm timeinfo; +// need this for conversions +time_t ConvertFileTimeToTime_t(FILETIME *fileTime); +bool ConvertTime_tToFileTime(const time_t from, FILETIME *pTo); - // Convert the last-write time to local time. - FileTimeToSystemTime(fileTime, &stUTC); - // SystemTimeToTzSpecificLocalTime(NULL, &stUTC, &stLocal); - - memset(&timeinfo, 0, sizeof(timeinfo)); - timeinfo.tm_sec = stUTC.wSecond; - timeinfo.tm_min = stUTC.wMinute; - timeinfo.tm_hour = stUTC.wHour; - timeinfo.tm_mday = stUTC.wDay; - timeinfo.tm_wday = stUTC.wDayOfWeek; - timeinfo.tm_mon = stUTC.wMonth - 1; - // timeinfo.tm_yday = ...; - timeinfo.tm_year = stUTC.wYear - 1900; - - time_t retVal = mktime(&timeinfo) - _timezone; - return retVal; -} - #ifdef _MSC_VER #define stat(filename, struct) emu_stat (filename, struct) #define lstat(filename, struct) emu_stat (filename, struct) From boxbackup-dev at fluffy.co.uk Mon Sep 4 01:09:27 2006 From: boxbackup-dev at fluffy.co.uk (boxbackup-dev at fluffy.co.uk) Date: Mon, 04 Sep 2006 00:09:27 -0000 Subject: [Box Backup-commit] =?utf-8?q?Re=3A_=233=3A_Merge_Win32_branch?= In-Reply-To: <075.1b7d6133054ee2a6460aa460f0db838a@fluffy.co.uk> References: <075.1b7d6133054ee2a6460aa460f0db838a@fluffy.co.uk> Message-ID: <084.1a0d4da4b1cf2b0e58bbc070bede0d4d@fluffy.co.uk> --===============0024274247== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 IzM6IE1lcmdlIFdpbjMyIGJyYW5jaA0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KICBSZXBvcnRlcjog IGNocmlzICAgICB8ICAgICAgIE93bmVyOiAgY2hyaXMgICAgICAgICAgICAgDQogICAgICBUeXBl OiAgdGFzayAgICAgIHwgICAgICBTdGF0dXM6ICBuZXcgICAgICAgICAgICAgICANCiAgUHJpb3Jp dHk6ICBub3JtYWwgICAgfCAgIE1pbGVzdG9uZTogIDAuMTEgICAgICAgICAgICAgIA0KIENvbXBv bmVudDogIGJiYWNrdXBkICB8ICAgICBWZXJzaW9uOiAgdHJ1bmsgICAgICAgICAgICAgDQpSZXNv bHV0aW9uOiAgICAgICAgICAgIHwgICAgS2V5d29yZHM6ICB3aW4zMiBtZXJnZSBicmFuY2gNCi0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0NCkNvbW1lbnQgKGJ5IGNocmlzKToNCg0KIChJbiBbOTY1XSkgKHJl ZnMgIzMpDQoNCiBSZW1vdmUgaW5saW5lIENvbnZlcnRGaWxlVGltZVRvVGltZV90LCBhZGQgcHJv dG90eXBlcyBmb3IgbmV3IHZlcnNpb25zDQogaW4gZW11LmNwcA0KDQotLSANClRpY2tldCBVUkw6 IDxodHRwOi8vYmJkZXYuZmx1ZmZ5LmNvLnVrL3RyYWMvdGlja2V0LzM+DQpCb3ggQmFja3VwIDxo dHRwOi8vd3d3LmZsdWZmeS5jby51ay9ib3hiYWNrdXAvPg0KQW4gb3BlbiBzb3VyY2UsIGNvbXBs ZXRlbHkgYXV0b21hdGljIG9uLWxpbmUgYmFja3VwIHN5c3RlbSBmb3IgVU5JWC4= --===============0024274247==-- From subversion at fluffy.co.uk Mon Sep 4 01:10:38 2006 From: subversion at fluffy.co.uk (subversion at fluffy.co.uk) Date: Mon, 04 Sep 2006 01:10:38 +0100 Subject: [Box Backup-commit] COMMIT r966 - box/chris/merge/lib/win32 Message-ID: Author: chris Date: 2006-09-04 01:10:38 +0100 (Mon, 04 Sep 2006) New Revision: 966 Modified: box/chris/merge/lib/win32/emu.cpp Log: (refs #3) Changed WideSize from int to size_t Don't allow space for null terminator that will not be added Modified: box/chris/merge/lib/win32/emu.cpp =================================================================== --- box/chris/merge/lib/win32/emu.cpp 2006-09-04 00:09:26 UTC (rev 965) +++ box/chris/merge/lib/win32/emu.cpp 2006-09-04 00:10:38 UTC (rev 966) @@ -1559,7 +1559,7 @@ return -1; } - int WideSize = BufferSize / 5; + size_t WideSize = BufferSize / 5; WCHAR* pWideBuffer = new WCHAR [WideSize]; if (!pWideBuffer) @@ -1573,7 +1573,7 @@ if (!ReadConsoleW( hConsole, pWideBuffer, - WideSize - 1, + WideSize, // will not be null terminated by ReadConsole &numCharsRead, NULL // reserved )) From boxbackup-dev at fluffy.co.uk Mon Sep 4 01:10:39 2006 From: boxbackup-dev at fluffy.co.uk (boxbackup-dev at fluffy.co.uk) Date: Mon, 04 Sep 2006 00:10:39 -0000 Subject: [Box Backup-commit] =?utf-8?q?Re=3A_=233=3A_Merge_Win32_branch?= In-Reply-To: <075.1b7d6133054ee2a6460aa460f0db838a@fluffy.co.uk> References: <075.1b7d6133054ee2a6460aa460f0db838a@fluffy.co.uk> Message-ID: <084.5ecf523dbfcc354e268480e4e2a5e33b@fluffy.co.uk> --===============0749373514== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 IzM6IE1lcmdlIFdpbjMyIGJyYW5jaA0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KICBSZXBvcnRlcjog IGNocmlzICAgICB8ICAgICAgIE93bmVyOiAgY2hyaXMgICAgICAgICAgICAgDQogICAgICBUeXBl OiAgdGFzayAgICAgIHwgICAgICBTdGF0dXM6ICBuZXcgICAgICAgICAgICAgICANCiAgUHJpb3Jp dHk6ICBub3JtYWwgICAgfCAgIE1pbGVzdG9uZTogIDAuMTEgICAgICAgICAgICAgIA0KIENvbXBv bmVudDogIGJiYWNrdXBkICB8ICAgICBWZXJzaW9uOiAgdHJ1bmsgICAgICAgICAgICAgDQpSZXNv bHV0aW9uOiAgICAgICAgICAgIHwgICAgS2V5d29yZHM6ICB3aW4zMiBtZXJnZSBicmFuY2gNCi0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0NCkNvbW1lbnQgKGJ5IGNocmlzKToNCg0KIChJbiBbOTY2XSkgKHJl ZnMgIzMpDQoNCiBDaGFuZ2VkIFdpZGVTaXplIGZyb20gaW50IHRvIHNpemVfdA0KDQogRG9uJ3Qg YWxsb3cgc3BhY2UgZm9yIG51bGwgdGVybWluYXRvciB0aGF0IHdpbGwgbm90IGJlIGFkZGVkDQoN Ci0tIA0KVGlja2V0IFVSTDogPGh0dHA6Ly9iYmRldi5mbHVmZnkuY28udWsvdHJhYy90aWNrZXQv Mz4NCkJveCBCYWNrdXAgPGh0dHA6Ly93d3cuZmx1ZmZ5LmNvLnVrL2JveGJhY2t1cC8+DQpBbiBv cGVuIHNvdXJjZSwgY29tcGxldGVseSBhdXRvbWF0aWMgb24tbGluZSBiYWNrdXAgc3lzdGVtIGZv ciBVTklYLg== --===============0749373514==-- From subversion at fluffy.co.uk Fri Sep 8 22:20:37 2006 From: subversion at fluffy.co.uk (subversion at fluffy.co.uk) Date: Fri, 08 Sep 2006 22:20:37 +0100 Subject: [Box Backup-commit] COMMIT r967 - box/chris/general/lib/win32 Message-ID: Author: chris Date: 2006-09-08 22:20:36 +0100 (Fri, 08 Sep 2006) New Revision: 967 Modified: box/chris/general/lib/win32/emu.cpp Log: Fix accidental assignment to function Modified: box/chris/general/lib/win32/emu.cpp =================================================================== --- box/chris/general/lib/win32/emu.cpp 2006-09-04 00:10:38 UTC (rev 966) +++ box/chris/general/lib/win32/emu.cpp 2006-09-08 21:20:36 UTC (rev 967) @@ -551,7 +551,7 @@ if (hdir == INVALID_HANDLE_VALUE) { - if (GetLastError() = ERROR_INVALID_NAME) + if (GetLastError() == ERROR_INVALID_NAME) { ::syslog(LOG_WARNING, "Failed to open file '%s': " "invalid file name", pFileName); From subversion at fluffy.co.uk Fri Sep 8 22:47:22 2006 From: subversion at fluffy.co.uk (subversion at fluffy.co.uk) Date: Fri, 08 Sep 2006 22:47:22 +0100 Subject: [Box Backup-commit] COMMIT r968 - box/chris/general/lib/server Message-ID: Author: chris Date: 2006-09-08 22:47:22 +0100 (Fri, 08 Sep 2006) New Revision: 968 Modified: box/chris/general/lib/server/ServerStream.h Log: (refs #3) Fixed typo Modified: box/chris/general/lib/server/ServerStream.h =================================================================== --- box/chris/general/lib/server/ServerStream.h 2006-09-08 21:20:36 UTC (rev 967) +++ box/chris/general/lib/server/ServerStream.h 2006-09-08 21:47:22 UTC (rev 968) @@ -62,7 +62,7 @@ virtual void Run() { - // Set process title as appropraite + // Set process title as appropriate SetProcessTitle(ForkToHandleRequests?"server":"idle"); // Handle exceptions and child task quitting gracefully. From boxbackup-dev at fluffy.co.uk Fri Sep 8 22:47:23 2006 From: boxbackup-dev at fluffy.co.uk (boxbackup-dev at fluffy.co.uk) Date: Fri, 08 Sep 2006 21:47:23 -0000 Subject: [Box Backup-commit] =?utf-8?q?Re=3A_=233=3A_Merge_Win32_branch?= In-Reply-To: <075.1b7d6133054ee2a6460aa460f0db838a@fluffy.co.uk> References: <075.1b7d6133054ee2a6460aa460f0db838a@fluffy.co.uk> Message-ID: <084.f4dce237b9fe9abf55de83a7aa1dbae0@fluffy.co.uk> --===============1412368096== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 IzM6IE1lcmdlIFdpbjMyIGJyYW5jaA0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KICBSZXBvcnRlcjog IGNocmlzICAgICB8ICAgICAgIE93bmVyOiAgY2hyaXMgICAgICAgICAgICAgDQogICAgICBUeXBl OiAgdGFzayAgICAgIHwgICAgICBTdGF0dXM6ICBuZXcgICAgICAgICAgICAgICANCiAgUHJpb3Jp dHk6ICBub3JtYWwgICAgfCAgIE1pbGVzdG9uZTogIDAuMTEgICAgICAgICAgICAgIA0KIENvbXBv bmVudDogIGJiYWNrdXBkICB8ICAgICBWZXJzaW9uOiAgdHJ1bmsgICAgICAgICAgICAgDQpSZXNv bHV0aW9uOiAgICAgICAgICAgIHwgICAgS2V5d29yZHM6ICB3aW4zMiBtZXJnZSBicmFuY2gNCi0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0NCkNvbW1lbnQgKGJ5IGNocmlzKToNCg0KIChJbiBbOTY4XSkgKHJl ZnMgIzMpDQoNCiBGaXhlZCB0eXBvDQoNCi0tIA0KVGlja2V0IFVSTDogPGh0dHA6Ly9iYmRldi5m bHVmZnkuY28udWsvdHJhYy90aWNrZXQvMz4NCkJveCBCYWNrdXAgPGh0dHA6Ly93d3cuZmx1ZmZ5 LmNvLnVrL2JveGJhY2t1cC8+DQpBbiBvcGVuIHNvdXJjZSwgY29tcGxldGVseSBhdXRvbWF0aWMg b24tbGluZSBiYWNrdXAgc3lzdGVtIGZvciBVTklYLg== --===============1412368096==--