summaryrefslogtreecommitdiffabout
path: root/src
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) (side-by-side diff)
tree05320addd7a51652d3f3ff34cfe17e81cf1b8889 /src
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 (limited to 'src') (more/less context) (show 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
@@ -40,26 +40,26 @@ int eyefiService::StartSession(
std::string macaddress,std::string cnonce,
int transfermode,long transfermodetimestamp,
struct rns__StartSessionResponse &r ) {
#ifndef NDEBUG
syslog(LOG_DEBUG,
"StartSession request from %s with cnonce=%s, transfermode=%d, transfermodetimestamp=%ld",
macaddress.c_str(), cnonce.c_str(), transfermode, transfermodetimestamp );
#endif
r.credential = binary_t(macaddress+cnonce+eyekinfig_t(macaddress).get_upload_key()).md5().hex();
/* TODO: better nonce generator */
time_t t = time(0);
r.snonce = binary_t(&t,sizeof(t)).md5().hex();
- r.transfermode=2;
- r.transfermodetimestamp=t;
+ r.transfermode=transfermode;
+ r.transfermodetimestamp=transfermodetimestamp;
r.upsyncallowed=false;
std::string cmd = eyekinfig_t(macaddress).get_on_start_session();
if(!cmd.empty()) {
if(detached_child()) {
putenv( gnu::autosprintf("EYEFI_MACADDRESS=%s",macaddress.c_str()) );
putenv( gnu::autosprintf("EYEFI_TRANSFERMODE=%d",transfermode) );
putenv( gnu::autosprintf("EYEFI_TRANSFERMODETIMESTAMP=%ld",transfermodetimestamp) );
char *argv[] = { (char*)"/bin/sh", (char*)"-c", (char*)cmd.c_str(), 0 };
execv("/bin/sh",argv);
syslog(LOG_ERR,"Failed to execute '%s'",cmd.c_str());
_exit(-1);