summaryrefslogtreecommitdiffabout
authorMichael Krelin <hacker@klever.net>2009-04-04 23:51:03 (UTC)
committer Michael Krelin <hacker@klever.net>2009-04-05 00:41:00 (UTC)
commit01eedb36de69f92fc896c525047df78b34f87324 (patch) (unidiff)
tree05320addd7a51652d3f3ff34cfe17e81cf1b8889
parent6b71fd1e4edd46b7caf47135740c961d5d4f051c (diff)
downloadiii-01eedb36de69f92fc896c525047df78b34f87324.zip
iii-01eedb36de69f92fc896c525047df78b34f87324.tar.gz
iii-01eedb36de69f92fc896c525047df78b34f87324.tar.bz2
send back original transfer mode and timestamp
in an attempt to make it send more than one photo per session, but it doesn't seem to help. Well, it doesn't hurt either. Signed-off-by: Michael Krelin <hacker@klever.net>
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--src/eyefiservice.cc4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/eyefiservice.cc b/src/eyefiservice.cc
index 97cb33b..153a7c4 100644
--- a/src/eyefiservice.cc
+++ b/src/eyefiservice.cc
@@ -36,34 +36,34 @@ static bool detached_child() {
36 return false; 36 return false;
37} 37}
38 38
39int eyefiService::StartSession( 39int eyefiService::StartSession(
40 std::string macaddress,std::string cnonce, 40 std::string macaddress,std::string cnonce,
41 int transfermode,long transfermodetimestamp, 41 int transfermode,long transfermodetimestamp,
42 struct rns__StartSessionResponse &r ) { 42 struct rns__StartSessionResponse &r ) {
43#ifndef NDEBUG 43#ifndef NDEBUG
44 syslog(LOG_DEBUG, 44 syslog(LOG_DEBUG,
45 "StartSession request from %s with cnonce=%s, transfermode=%d, transfermodetimestamp=%ld", 45 "StartSession request from %s with cnonce=%s, transfermode=%d, transfermodetimestamp=%ld",
46 macaddress.c_str(), cnonce.c_str(), transfermode, transfermodetimestamp ); 46 macaddress.c_str(), cnonce.c_str(), transfermode, transfermodetimestamp );
47#endif 47#endif
48 r.credential = binary_t(macaddress+cnonce+eyekinfig_t(macaddress).get_upload_key()).md5().hex(); 48 r.credential = binary_t(macaddress+cnonce+eyekinfig_t(macaddress).get_upload_key()).md5().hex();
49 /* TODO: better nonce generator */ 49 /* TODO: better nonce generator */
50 time_t t = time(0); 50 time_t t = time(0);
51 r.snonce = binary_t(&t,sizeof(t)).md5().hex(); 51 r.snonce = binary_t(&t,sizeof(t)).md5().hex();
52 r.transfermode=2; 52 r.transfermode=transfermode;
53 r.transfermodetimestamp=t; 53 r.transfermodetimestamp=transfermodetimestamp;
54 r.upsyncallowed=false; 54 r.upsyncallowed=false;
55 55
56 std::string cmd = eyekinfig_t(macaddress).get_on_start_session(); 56 std::string cmd = eyekinfig_t(macaddress).get_on_start_session();
57 if(!cmd.empty()) { 57 if(!cmd.empty()) {
58 if(detached_child()) { 58 if(detached_child()) {
59 putenv( gnu::autosprintf("EYEFI_MACADDRESS=%s",macaddress.c_str()) ); 59 putenv( gnu::autosprintf("EYEFI_MACADDRESS=%s",macaddress.c_str()) );
60 putenv( gnu::autosprintf("EYEFI_TRANSFERMODE=%d",transfermode) ); 60 putenv( gnu::autosprintf("EYEFI_TRANSFERMODE=%d",transfermode) );
61 putenv( gnu::autosprintf("EYEFI_TRANSFERMODETIMESTAMP=%ld",transfermodetimestamp) ); 61 putenv( gnu::autosprintf("EYEFI_TRANSFERMODETIMESTAMP=%ld",transfermodetimestamp) );
62 char *argv[] = { (char*)"/bin/sh", (char*)"-c", (char*)cmd.c_str(), 0 }; 62 char *argv[] = { (char*)"/bin/sh", (char*)"-c", (char*)cmd.c_str(), 0 };
63 execv("/bin/sh",argv); 63 execv("/bin/sh",argv);
64 syslog(LOG_ERR,"Failed to execute '%s'",cmd.c_str()); 64 syslog(LOG_ERR,"Failed to execute '%s'",cmd.c_str());
65 _exit(-1); 65 _exit(-1);
66 } 66 }
67 } 67 }
68 return SOAP_OK; 68 return SOAP_OK;
69} 69}