Olivier Goffart
9da261acd8
Do not read from the database when upgrading from 1.5
...
We need to make sure that the file id are updated (if the user
had upgraded from owncloud 5 to owncloud 6 while using owncloud 1.5)
2014-04-25 13:31:44 +02:00
Olivier Goffart
642c16b09b
Missing EXPORT
2014-04-24 23:57:42 +02:00
Olivier Goffart
5c92c190f0
Add EXPORT macro to owncloudsync library
...
Not all the class are exported currently, only the one that seems to be used
by the command line tools
2014-04-24 23:45:20 +02:00
hefee
9b7a3d00ee
Using QFile::decodeName instead of QLatin1String
2014-04-23 18:59:40 +02:00
Sandro Knauß
1d862b77af
merged 1.5 into master
2014-04-23 18:54:49 +02:00
Olivier Goffart
f2519e9d87
Fix function signature: pass argument by const reference
2014-04-22 19:52:09 +02:00
Markus Goetz
197d180cb9
Propagator: Add support for CSYNC_CONFLICT_FILE_USERNAME
2014-04-22 16:17:49 +02:00
Markus Goetz
4be20db670
Propagator: Add makeConflictFileName function
2014-04-22 16:07:18 +02:00
Olivier Goffart
46d6191bc2
Also list folder for which the alias starts with '.'
...
Fixes #1695
2014-04-22 14:26:08 +02:00
Olivier Goffart
ee22f377af
Start the folder watcher when new folder are added
...
Before, we would only set up a file system watcher when we read the
config at startup. But we also need to do it in the other case when
the user configure new folder to watch
2014-04-22 14:15:43 +02:00
Olivier Goffart
44a04227f1
Update dynamically the error message in the account settings
...
This let the error be shown when the conneciton is missing at startup
And also remove the red background when there is no longer an error
2014-04-22 14:08:37 +02:00
Olivier Goffart
edb1f61241
Fix compilation without the BUILD_ONLY_LIBRARIES mode
2014-04-22 12:44:01 +02:00
Olivier Goffart
3fac5f91c8
In case of error, report the right error instead of missing etag
...
also, missing etag is not a fatal error
2014-04-22 12:43:38 +02:00
Olivier Goffart
0cf8091705
Merge pull request #1700 from wakeup/master
...
Fix non-closed p tag
2014-04-22 10:08:29 +02:00
Klaas Freitag
c24732f641
More debugable code.
2014-04-22 09:33:07 +02:00
Markus Goetz
77ac092975
WiP: Attempt to compile without UI
2014-04-21 19:57:15 +02:00
Volkan Gezer
78e5e4ab66
Fix non-closed p tag
2014-04-21 15:29:42 +02:00
Volkan Gezer
9b71643c1c
Space fix
2014-04-20 14:54:40 +02:00
Olivier Goffart
b08284e4cc
Fix the background check job for the connection
...
We can't use the quota job for that as it needs the credidentials and therefore
may re-enter the credidential code when we are currently trying to fetch the credentials.
The quotainfo.cpp part of this patch is basically a revert of d836b80153
2014-04-19 09:49:52 +02:00
Olivier Goffart
fa38bf7029
Make sure the fileid are saved to the database when upgrading from owncloud5 to owncloud6
...
We fetch the id from the server, but don't save them in the database.
I Could have used INSTRUCTION_UPDATED for that, but then i would need to update the
reconcile algorithm to take in account the fact that UPDATED is possible there.
Instead, use should_update_etag which means the db is going to be written again
Remove reference to old instruction _UPDATED and _DELETED which does not make sens with
the new propagator
Improve the test to test this case, and that etags are properly writen to the DB
when there is a fake conflict
2014-04-18 18:27:27 +02:00
Klaas Freitag
d143044f4a
Add missing cases to avoid "unknown action" under some circumstances.
...
Most of the translations are not used because they translate pre
propagation states.
Fixes #1674
2014-04-15 16:54:49 +02:00
Klaas Freitag
aee7515d42
Do not dereference the _engine member variable without check.
...
This can cause the crash because the _engine member is deleted in the
sync finished slot. The solution is to store the stopWatch object
before the engine is destroyed.
Fixes bug #1675
2014-04-15 16:28:18 +02:00
Klaas Freitag
82ab5fdcb9
Fix condition if network limit change is logged or not.
2014-04-15 16:28:18 +02:00
Klaas Freitag
4c6e6f6302
Add initialisations for member variables.
...
Avoids some valgrind warnings.
2014-04-15 16:28:18 +02:00
Klaas Freitag
0a2791270a
Add a reset method.
2014-04-15 16:28:18 +02:00
Klaas Freitag
c920f81562
Add braces.
2014-04-15 16:28:18 +02:00
Daniel Molkentin
d836b80153
Fix reconnect after server disconnect
...
Fixes #1679
Fixes #1568
Fixes #1659
2014-04-14 17:51:57 +02:00
Daniel Molkentin
efc4ff4d88
Fix redirects in CheckServerJob
2014-04-14 15:12:38 +02:00
Daniel Molkentin
dc043b5765
Try scheme://host/owncloud if scheme://host/ did not work
...
Fixes #1680
2014-04-14 15:10:08 +02:00
Daniel Molkentin
ef9a318cd9
AbstractNetworkJob Allow finished() to defer Job deletion
...
This allows to reuse the Job
2014-04-14 15:08:43 +02:00
Volkan Gezer
8250fb81b3
Fix typo.
2014-04-11 15:10:47 +02:00
Klaas Freitag
09e05392bf
Ignore all sync log files in the sync dir.
2014-04-09 22:02:28 +02:00
Daniel Molkentin
d3d202de68
Fix dataLocation on Linux/BSD
...
From the Qt 5 documentation:
Note: when porting QDesktopServices::DataLocation(obsolete)
to QStandardPaths::DataLocation, a different path will
be returned.
QDesktopServices::DataLocation was GenericDataLocation
+ "/data/organization/application", while
QStandardPaths::DataLocation is GenericDataLocation
+ "/organization/application".
We'll resort to the deprecated version, since we'll need to fix
data locations to be XDG compliant sooner than later anyway
(currently scheduled for 1.8)
2014-04-09 14:59:08 +02:00
Daniel Molkentin
87010fbe1a
SSL Button: Fix issues around printing Hash sums
...
- Use SHA 265 instead of obsolete MD5 where possible (Qt5)
- Remove <tt> formatting: that simply looked ugly
- Wrap SHA 265 hash
- Use spaces as separators
As usual, the default needs to remain ':' separation, because
it's needed to pass valid hashes to csync.
2014-04-09 14:30:51 +02:00
Klaas Freitag
7c40dc1a9a
Ignore changes on .owncloudsync.log in the linux filewatcher.
...
Also remove some verbose and unused logging.
2014-04-08 13:06:34 +02:00
Daniel Molkentin
1d70426bb7
Build with BOTH Qt4 and 5
2014-04-07 17:25:25 +02:00
Daniel Molkentin
6a2fe6be67
Build fix: QAtomicInt has no implicit integer conversion in Qt5
2014-04-07 16:49:01 +02:00
Klaas Freitag
3d67d203fe
Fix content-length calculation for sizes multiple of the chunk size.
2014-04-07 16:29:06 +02:00
Klaas Freitag
fc06945b26
use the lowercase app name for icon in the desktop file.
...
fixes #1642
2014-04-07 15:14:58 +02:00
Klaas Freitag
9cdcc925c1
Do not log useless stuff.
2014-04-07 15:10:55 +02:00
Markus Goetz
d35c0f3ade
Propagator: Fix chunking for real
...
The reset() (using seek()) didn't work.
2014-04-05 14:26:24 +02:00
Markus Goetz
0f7d448058
Propagator: Fix chunking
2014-04-04 15:41:35 +02:00
Klaas Freitag
435e7e3eec
HACK to avoid continuation: See task #1448
...
We do not know the _modtime from the server, at this point, so just set
the current one. (rather than the one locally)
2014-04-04 10:56:33 +02:00
Klaas Freitag
08dd9796d1
HACK to avoid continuation: See task #1448
...
We do not know the _modtime from the server, at this point, so just set
the current one. (rather than the one locally)
2014-04-04 10:50:40 +02:00
Olivier Goffart
462ba7d942
Don't dead lock when all the files are removed
...
SyncEngine is on the main thread, no need of the legacy BlockingConnection
2014-04-03 17:47:49 +02:00
Klaas Freitag
cf87fdff7f
Keep the updater data in the log struct for the synclog.
...
Also, shorten the timestamp and add the sync direction.
2014-04-03 16:56:50 +02:00
Markus Goetz
565bb540d6
Propagator: Add debug message regarding legacy vs QNAM
2014-04-03 16:37:40 +02:00
Olivier Goffart
eaf5681f61
Put the sync log in the actual folder
2014-04-02 16:36:32 +02:00
Olivier Goffart
f09076180d
don't add the list of field on the log for every sync
2014-04-02 16:21:07 +02:00
Markus Goetz
b18f1ad386
SyncEngine: Removed unused signal
2014-04-02 12:47:15 +02:00
Olivier Goffart
607e48a68b
let configure the default count of the blacklist
2014-04-01 13:54:47 +02:00
Olivier Goffart
bfe6a50b19
Fix some error cases in the SyncEngine
...
Always cleanup properly when we bail out.
Also fix thread safety of the SyncJournalDB
2014-04-01 13:41:47 +02:00
Olivier Goffart
3acdfc0004
Make configurable the maximum amount of job in parallel
...
Bia the environement variable OWNCLOUD_MAX_PARALLEL
2014-03-28 11:20:07 +01:00
Olivier Goffart
a1fc7f0a25
Make the chunk size configurable via an environement variable
...
OWNCLOUD_CHUNK_SIZE
2014-03-28 11:11:02 +01:00
Olivier Goffart
8de9bec122
Remove progress info from csync
...
csync doesn't do no propagation no more
2014-03-28 10:50:15 +01:00
Olivier Goffart
765a18b74a
Fix compilation with Qt4
2014-03-28 10:26:42 +01:00
Olivier Goffart
350283fe06
Remove obsolete code that removed the sync journal when the sync directory is deleted
...
Since the journal is now in the same directory, we don't need this
security anymore
When the directory is removed, the sync will error out saying that the
journal cannot be loaded or created
2014-03-28 10:23:09 +01:00
Olivier Goffart
2ba62b79b4
Make the size of the log maximum 1MiB
2014-03-28 10:13:35 +01:00
Olivier Goffart
e0b6395d18
Use sane datastructure in Utility::StopWatch
...
We don't want to logging to be O(N^2)
Also avoid usage of macro when possible
2014-03-28 09:50:13 +01:00
Olivier Goffart
ba896b0550
Avoid copies of the StopWatch
2014-03-28 09:39:50 +01:00
Olivier Goffart
7f975e0b2f
Avoid macro when it can easily be done with a local variable
2014-03-28 09:27:05 +01:00
Markus Goetz
54313338cd
SyncEngine: new aboutToPropagate signal
2014-03-27 17:04:31 +01:00
Markus Goetz
09e6207ce9
SyncEngine: Fix typo
2014-03-27 15:19:02 +01:00
Olivier Goffart
de2335c1db
Show the folders when in the accountsettings in the first start
2014-03-26 19:31:37 +01:00
Olivier Goffart
332c6cf726
Fix invalid signal connection
2014-03-26 19:31:37 +01:00
Klaas Freitag
086dd07d69
Log the processed items to a logfile.
2014-03-26 18:16:27 +01:00
Klaas Freitag
dd6b71bad6
Use a stopwatch to meassure the time consumed.
2014-03-26 18:16:27 +01:00
Klaas Freitag
9af2339596
Store the request duration and timestamp to final item
2014-03-26 18:16:27 +01:00
Klaas Freitag
0fcef5f604
Add data to store interesting info from the sync run (other tree)
2014-03-26 18:16:27 +01:00
Klaas Freitag
c41935d49d
Add a class to write a machine readable sync log file.
2014-03-26 18:16:27 +01:00
Klaas Freitag
7b84defd56
Add a stopwatch utility class with lap times.
...
Allows to meassure the duration of something that started at a
point of time, with some small convenience methods.
2014-03-26 18:16:27 +01:00
Klaas Freitag
505429b582
Add a duration and the repsonse timestamp to the jobs.
2014-03-26 18:16:27 +01:00
Klaas Freitag
11bbad79e2
Use QTimer as object member rather than pointer based.
...
Avoid crashes if timer is zero.
2014-03-26 18:16:27 +01:00
Klaas Freitag
6e6f647c63
Change data type for fileId to QByteArray.
2014-03-26 18:12:22 +01:00
Olivier Goffart
2ad7b0aae0
Fix crash on first run when no account are configured
2014-03-26 17:42:05 +01:00
Olivier Goffart
588633a0f2
Fix leak: don't leak the settings
2014-03-26 17:42:05 +01:00
Markus Goetz
d5659442b2
SyncEngine: Sanity bail out if DB does not exist suddenly
...
The update/reconcile worked for me, but the Propagate step had an invalid DB
path but still went on (and then messed things up)
2014-03-26 16:57:50 +01:00
Markus Goetz
c6e5f39f7f
SyncJournalDb: Verbose log on load failure
2014-03-26 16:40:00 +01:00
Olivier Goffart
38344589c4
Exxtract the exception message from reply to PUT
...
Might be usefull to debug Internal Server Error
Fixes #1366
2014-03-26 12:02:22 +01:00
Daniel Molkentin
1c4af687ea
Compile on Mac again
2014-03-26 07:20:24 +01:00
Daniel Molkentin
c3d37efa6c
Fix OS X compilation
2014-03-25 23:33:46 +01:00
Daniel Molkentin
45ec489f71
Merge branch 'master' of github.com:shadone/mirall into shadone-master
...
Conflicts:
cmake/modules/QtVersionAbstraction.cmake
src/CMakeLists.txt
src/mirall/owncloudgui.cpp
2014-03-25 19:56:45 +01:00
Daniel Molkentin
e2fe4972d9
Don't show ocsync version, it's part of mirall now
2014-03-25 19:04:05 +01:00
Mathieu Arnold
84b4872938
And make it runnable on FreeBSD too.
...
Patch by: Tobias Berner
2014-03-25 17:23:11 +01:00
Mathieu Arnold
3f9bd1d72a
Fix build on FreeBSD.
...
We use libinotify, so the linux folderwatcher works.
Based on a patch by: Tobias Berner
2014-03-25 17:22:54 +01:00
Markus Goetz
91f416ffc7
Fix compile after changing Account::davPath()
2014-03-22 09:41:32 +01:00
Sandro Knauß
47274f1075
Merge remote-tracking branch 'respect-XDG_CONFIG_HOME' into 1.5
2014-03-21 17:20:15 +01:00
Markus Goetz
ff95cbd04b
Account: Don't hardcode WebDAV path
2014-03-21 17:14:04 +01:00
Markus Goetz
cc5fabdab0
Engine: Introduce jobCompleted() signal
2014-03-21 17:13:02 +01:00
Markus Goetz
f72e1cc837
Log: Don't override level for csync
...
The level shall be set from Folder or owncloudCmd only.
2014-03-21 13:52:35 +01:00
Olivier Goffart
bb9d6b34c7
Remove FIXME and TODO
...
They are outdated
2014-03-20 16:42:43 +01:00
Olivier Goffart
07025c7432
Remove a FIXME
...
The commit message say that this line should be necessary to show
the information when the setting dialog is open, but this is working
now via the signals
2014-03-20 16:42:43 +01:00
Olivier Goffart
b65601aaa4
Remove FIXME
...
This has been refactored since the comment was added and is no longer a hack
2014-03-20 16:42:43 +01:00
Olivier Goffart
756e1c4a12
Prefer the use of _isDirectory over item._type == SyncFileItem::Directory
2014-03-20 16:42:42 +01:00
Olivier Goffart
c5f8a2555d
Rename _dir to _direction
...
(to avoid confusion with directory)
2014-03-20 16:42:42 +01:00
Olivier Goffart
a1ab9c84c7
Remove FIXME in syncengine
2014-03-20 16:42:42 +01:00
Olivier Goffart
23f3a6b319
restore the last change menu
...
It was not yet implemented after the progress refactoring
2014-03-20 14:43:10 +01:00
Olivier Goffart
ebeb668a62
QNAM jobs: Make sure there is an etag is proper and not changed when one resume
...
Those tests are existing on the legacy jobs.
We check there is an etag so we make sure a proxy is not in between.
(We have seen user complaining because their proxy is replacing the
pages with one that says they need to enter their login and password)
Also it is important to check that the etag has not changed if we resume
(this may happen if the file is changed on the server between the update
phase and the propagate phase, and that we resume this file)
2014-03-20 13:31:42 +01:00
Olivier Goffart
05d3273591
Detect the error that may happen when downloading a file
2014-03-20 11:35:30 +01:00
Olivier Goffart
6377dca4b0
Add the file and line number of the debug in the debug view
2014-03-17 12:15:45 +01:00
Olivier Goffart
f05320c32c
Clean the debug a bit
2014-03-17 12:15:16 +01:00
Olivier Goffart
b0f8a24c20
CSyncThread was renamed, give proper names in Folder
...
take in account that the object live in the same thread
2014-03-17 11:47:23 +01:00
Olivier Goffart
7b482c0e96
Rename CSyncThread to SyncEngine
...
CSyncThread has not been a thread for a long time now
2014-03-17 11:34:51 +01:00
Olivier Goffart
bf5091d862
Merge branch '1.5'
2014-03-17 11:26:28 +01:00
Olivier Goffart
5c45ede4a5
Read the quota as double
...
The server is sending floating point number when the amount of storage
is set to a custom number (say 1.2GB)
This should fix #1374
2014-03-17 10:37:06 +01:00
Olivier Goffart
cabcdd890e
Only run the CheckQuota job if the account is connected
...
We use another job to check the connection.
And this may cause wrong password failure as we are still in the wizzard
Fixes #1567
2014-03-17 10:35:43 +01:00
Olivier Goffart
ba300c2fc1
Fix memory leak: Don't use raw pointers
2014-03-17 10:04:42 +01:00
Olivier Goffart
62e95e540b
Remove Progress::Kind
...
It's not really used, one need to look at the instruction of the items
being processed to see what happens
2014-03-14 18:43:23 +01:00
Olivier Goffart
d744b5e481
Fix the file count in the progress
...
And clear the ignored files between syncs
2014-03-14 18:29:23 +01:00
Olivier Goffart
f9b82d852c
Do not destroy the settings dialog when it is hidden.
...
That way the protocol widget stay filled.
And the state is kept
2014-03-14 17:39:20 +01:00
Olivier Goffart
33289bde29
Merge remote-tracking branch 'origin/1.5'
...
Conflicts:
CMakeLists.txt
VERSION.cmake
src/CMakeLists.txt
2014-03-14 17:27:50 +01:00
Olivier Goffart
9053662fe8
remove Progress::SyncProblem and the problem slots
...
They are merged into normal progress
2014-03-14 17:18:26 +01:00
Markus Goetz
07904e078a
CSyncThread: Emit a signal for each file before propagate
...
This can be used to display info before the sync is happening
2014-03-14 14:08:32 +01:00
Olivier Goffart
aacc278583
Refactor the progress
...
Consider that there might be several files processed at the same time
2014-03-14 13:32:32 +01:00
Denis Dzyubenko
aee4c06b8d
Renamed a member variable to have underscore prefix for consistency
2014-03-11 20:34:00 +01:00
Denis Dzyubenko
89a4833cae
Fixed a memory leak in FSEvents folderwatcher backend
2014-03-11 20:34:00 +01:00
Denis Dzyubenko
255d255217
Fixed ignored paths matching on OS X.
...
We now listen to changes to files and when an event is received we first match
the file name to the "ignored paths list" and only if the the file that was
changed didn't match figure out which directory needs to be synced.
2014-03-11 20:34:00 +01:00
Denis Dzyubenko
902de2dc93
Fixed a memory leak in FSEvents file system watcher
2014-03-11 20:34:00 +01:00
Denis Dzyubenko
f7c075099b
Removed bogus commented out line
2014-03-11 20:34:00 +01:00
Klaas Freitag
bc41e6bc99
Allow proper translation for sync activity through GuiLog.
...
This fixes bug #1550
2014-03-11 10:55:20 +01:00
Klaas Freitag
c8a8eb35fa
Disable the folder if it is going to be removed.
2014-03-10 12:22:06 +01:00
Olivier Goffart
7cab77e879
Call the start method assyncroniously
...
That was my intention, which is why i did not do a direct call to start.
This should fix issue #1536
2014-03-06 21:01:08 +01:00
Olivier Goffart
feb49b2768
Saner defaults
2014-03-06 20:34:11 +01:00
Olivier Goffart
4e25595520
Better error classification
2014-03-06 20:33:17 +01:00
Markus Goetz
630f61142a
Proxy: Try to fix issue
...
See eb7074e9f0
for discussion
2014-03-06 17:48:18 +01:00
Olivier Goffart
ac393c6374
Do not sent more chunk and cancel the upload when the file change while uploading chunks
2014-03-06 16:04:32 +01:00
Olivier Goffart
5e012366ab
Keep string translatable
...
(In french, one may want to add a space before the colon.
Other languages may want to change the order)
Also use the two argument version of arg() to avoid issues if the first
string contains a '%1' sign
2014-03-06 15:01:34 +01:00
Olivier Goffart
ed1294d668
Avoid double delete
2014-03-06 14:28:58 +01:00
Olivier Goffart
ed2316a53f
Add missing line break
...
(silent warning)
2014-03-06 14:10:42 +01:00
Olivier Goffart
e5a8cd4521
Merge branch '1.5'
...
Conflicts:
VERSION.cmake
2014-03-06 14:10:08 +01:00
Jan-Christoph Borchardt
5ce4763868
move percent indicator of space usage to correct location
2014-03-05 12:55:32 +01:00
Jan-Christoph Borchardt
bafc90cfd8
clarify which space is used, fix #1517
2014-03-05 12:54:47 +01:00
Klaas Freitag
66b152ac69
Remove left over member variables.
2014-03-03 18:12:12 +01:00
Olivier Goffart
6df00ad08c
Only removes the password from the credidentials if it has been fetched before
...
Also only run the propfind job if the credidentials are readon, and fetch them
otherwise
2014-03-03 17:55:15 +01:00
Olivier Goffart
76b24ff00d
Revert "Do not wipe the credentials from config for reconnect."
...
This reverts commit 9eb3452a71
.
We need that or wrong password can never be changed
2014-03-03 17:21:20 +01:00
Klaas Freitag
9eb3452a71
Do not wipe the credentials from config for reconnect.
...
This should fix bug #1491
2014-03-03 16:39:38 +01:00
Klaas Freitag
228de7eede
Make the CheckServerJob ignoring credential fails.
2014-03-03 16:37:29 +01:00
Klaas Freitag
2164f5d9b7
Remove a superflous MessageBox. User is asked for Password instead.
2014-03-03 16:36:59 +01:00
Klaas Freitag
4240010046
Add method clearCookieJar which wipes QNAMs cookies.
2014-03-03 16:36:30 +01:00
Olivier Goffart
0658802048
Fix layout of the network tab
...
Fixes #1491
2014-02-28 13:17:04 +01:00
Olivier Goffart
96c535d712
Make the parrallel uploaded also check for problem in Shared
2014-02-27 14:13:22 +01:00
Markus Goetz
a652fec5a0
csync: Remove more unused stuff
2014-02-27 13:33:22 +01:00
Olivier Goffart
d4fa955950
Don't fetch credidentials from application.cpp
...
They will be fetched by the connection validator after doing
the status.php check
2014-02-27 13:06:29 +01:00
Olivier Goffart
869793592d
Merge branch '1.5'
...
Conflicts:
VERSION.cmake
src/mirall/owncloudpropagator.cpp
src/mirall/owncloudpropagator.h
2014-02-27 11:40:34 +01:00
Daniel Molkentin
d4dd5afbe7
Revert "Make "Sign Out" forget the cookies"
...
This reverts commit 8607300195
.
This approach is too dangerous for 1.5.2.
2014-02-26 15:05:15 +01:00
Olivier Goffart
8607300195
Make "Sign Out" forget the cookies
...
If we keep the cookies, next time we sign in, the entered password
does not matter as the server still think our session is logged in.
2014-02-26 13:23:52 +01:00
Daniel Molkentin
05a1f7b1bb
Another fix for the reconnect-logic
2014-02-26 11:26:50 +01:00
Markus Goetz
c7e70533a0
Shibboleth: Detect also QNAM redirects
...
If a QNAM job (e.g. Quota or ETag job) gets redirected,
we'll invalidate and then prompt to re-fetch the credentials
from the user.
(The keychain credentials will be wrong so they get deleted)
2014-02-25 14:22:55 +01:00
Markus Goetz
b56843ead2
Account: Fix Metatype registratition
2014-02-24 15:31:11 +01:00
Markus Goetz
51b5f3c9b2
Propfind Job: Print redirect URL in log
2014-02-24 15:20:49 +01:00