author | Michael Krelin <hacker@klever.net> | 2009-04-04 23:51:03 (UTC) |
---|---|---|
committer | Michael Krelin <hacker@klever.net> | 2009-04-05 00:41:00 (UTC) |
commit | 01eedb36de69f92fc896c525047df78b34f87324 (patch) (unidiff) | |
tree | 05320addd7a51652d3f3ff34cfe17e81cf1b8889 | |
parent | 6b71fd1e4edd46b7caf47135740c961d5d4f051c (diff) | |
download | iii-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>
-rw-r--r-- | src/eyefiservice.cc | 4 |
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 | ||
39 | int eyefiService::StartSession( | 39 | int 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 | } |