| 1 | diff -uNr dropbear-2018.76/gensignkey.c dropbear-2018.76.mod/gensignkey.c |
| 2 | --- dropbear-2018.76/gensignkey.c 2018-02-27 16:25:10.000000000 +0200 |
| 3 | +++ dropbear-2018.76.mod/gensignkey.c 2018-04-21 13:45:22.973731479 +0300 |
| 4 | @@ -140,6 +140,16 @@ |
| 5 | goto out; |
| 6 | } |
| 7 | |
| 8 | +#ifdef __ANDROID__ |
| 9 | + /* Hard links are not possible and renam. */ |
| 10 | + if (skip_exist && access(filename, F_OK) == 0) { |
| 11 | + /* Ok. */ |
| 12 | + } else if (rename(fn_temp, filename) < 0) { |
| 13 | + dropbear_log(LOG_ERR, "Failed moving key file to %s: %s", filename, |
| 14 | + strerror(errno)); |
| 15 | + ret = DROPBEAR_FAILURE; |
| 16 | + } |
| 17 | +#else |
| 18 | if (link(fn_temp, filename) < 0) { |
| 19 | /* If generating keys on connection (skipexist) it's OK to get EEXIST |
| 20 | - we probably just lost a race with another connection to generate the key */ |
| 21 | @@ -151,6 +161,7 @@ |
| 22 | goto out; |
| 23 | } |
| 24 | } |
| 25 | +#endif |
| 26 | |
| 27 | out: |
| 28 | if (buf) { |