Sign in to follow this  
Followers 0

Logging Explained

4 posts in this topic

Logging Explained

Ok below im going to try and explain the varuios Logging options. I am attempting top do this by backwards engineering the logging page and possibly takeing a look at the source. I am therefore bound to miss something so post it below and ill update this post cheers.

On the Logs property filed you have four boxes

  • Directory -- The Directory that the logs area stored in
  • Logs -- A list of logs that you can store/collect. I tick indicates enabled
  • Log Format -- What information to log
  • Filename -- The Filename of the log

Log Formats

Here are the date and time log formats

  • %a - Abbreviated weekday name
  • %A - Full weekday name
  • %b - Abbreviated month name
  • %B - Full month name
  • %c - Date and time representation appropriate for locale
  • %d - Day of month as decimal number (01 - 31)
  • %H - Hour in 24-hour format (00 - 23)
  • %I - Hour in 12-hour format (01 - 12)
  • %j - Day of year as decimal number (001 - 366)
  • %m - Month as decimal number (01 - 12)
  • %M - Minute as decimal number (00 - 59)
  • %p - Current locale's A.M./P.M. indicator for 12-hour clock
  • %S - Second as decimal number (00 - 59)
  • %U - Week of year as decimal number, with Sunday as first day of week (00 - 53)
  • %w - Weekday as decimal number (0 - 6; Sunday is 0)
  • %W - Week of year as decimal number, with Monday as first day of week (00 - 53)
  • %x - Date representation for current locale
  • %X - Time representation for current locale
  • %y - Year without century, as decimal number (00 - 99)
  • %Y - Year with century, as decimal number
  • %z, %Z - Either the time-zone name or time zone abbreviation, depending on registry settings; no characters if time zone is unknown
  • %% - Percent sign

Parameters valid for file transfer

  • %[userNI] - Users Nick name
  • %[userI4] - Users IP address
  • %[hub] - Hub Name
  • %[hubURL"] - Hub URL
  • %[fileSI"] - File Size
  • %[fileSIshort"] File size short form (guesing this is KB/MB/GB)
  • %[fileSIchunk"] - This appears to be the chunk size
  • %[fileSIchunkshort"] = Chunk size in short form
  • %[fileSIactual] = Get Actual file size bytes
  • %[fileSIactualshort] - Get actual file size in short form
  • %[speed] - Average Speed of transfer
  • %[time] - time of log transaction
  • %[fileTR] - file TTH

upload parameters

  • %[source] - file being uploaded

download parameters

  • %[target] - file name being saved

Parameters for Webserver logging

  • %[file] - file been requested
  • %[ip] - IP addres making request

Parameters avalible everywhere

  • %[message] - prints the message sent this is context sensetive
  • %[extra] - couldn't find this parameter in the source so not sure what it dose if anything

Its possible that the 'Parameters valid for file transfer' are valid in all context, some of them can be used in the Filename.

Ok so an example. the default Log Private message is


[%Y-%m-%d %H:%M%[extra]] %[message]


PM\%B - %Y\%[userNI].log

Therefore for every message the following will be logged

[ - a left hand bracket anything that isn't transformed is taken as a literal character

%Y - Year with century, as decimal number

%m - Month as decimal number (01 - 12)

%d - Day of month as decimal number (01 - 31)

%H - Hour in 24-hour format (00 - 23)

: - A colon, 

%M - Minute as decimal number (00 - 59)

%[extra] - includes IP and country code of the user, if related options are enabled, and this info is available 

] - a right hand bracket

%[message] - the message sent.
This will produce a log entry like the one below
[2007-04-03 11:54] <[Linux-Admin]Cheers> crise are you around
ok now the filename this expands to
PM\ - this is taken as a literal and therefor sets logging to go into a subdirectory under the main logging directory.  eg C:\Program Files\ApexDC++\Logs\PM\

%B - Full month name

-  - A literal dash '-'

%Y - Year with century, as decimal number

\ - ba back slash meaning another sub directory

%[userNI] - the username of the person in the pm

.log - a file extention to put on the end of the file again this is a literal and could be .txt, .tmp or anything you want.

Therefore the above log is saved in

C:\Program Files\ApexDC++\Logs\PM\April - 2007\[Apex-Dev]Crise.log

Share this post

Link to post
Share on other sites

Thanks Balder, this will come in use for people. :D

Share this post

Link to post
Share on other sites

ok so i have been away from apex for a long time so the below is dealing with ssl not apex. hopefully it will give guiedn's to orthers

is it really true, that, if two clients have generated these cetificates in the right folder, an TLS encrypted connection is used automatically between them without exchanging the users client certificate (client.crt) ? Does ApexDC send this 'public key' automatically to the other client?

not sure if apex will automaticly use TLS. however ssl. when you connect to a client they present you there pulilc cert and you, yours to them. if you trust each other you exchange session keys for in-going and out-going connections. you encypt a packer with your partners public key and vice versa. only the private key is able to decrypt the packet. the contence of this packet is used then used as a Symmetric-key to encypt the [ssl] tunnel

2. is it really true, that, only if unticking the "allow TLS connections to ..." checkboxes, I need to put the other users certificate into my trusted certificate folder ?

Again not sure what options Apex has but you can disable trust in ssl. just let your contac present there public cert and automaticly trust it. however this automaticly undermins the majority of the security presented by ssl. if somone has access to you traffic then the can do a man in the middle attack on you. if you trust anything you wont know. if someone is trying to snif at your traffic they already have the access to do this so why encypt if you trust anyone? that said it depends on how you are blocking. Although it is theoreticly possible that an isp will MIM every dc++ ssl connection it is unlikly, therefore if you simply want to hide your traffic form the logs it is better to trust everyone, just remeber it is not "secure"

3. how to do that exactly? the other users certificate will have the same filename like my own certificate in the same folder. I guess, I should not overwrite my own certificate with that other users one.

file name shouldn't matter it should use the CN of the cert

4. if really everything is right and the connection is TLS encrypted, how can I see that? what is the proof for an encrypted connection?

download wireshark

Apparently there are two ways of encrypted transfers - trusted and untrusted. And it seems that only for trusted encrypted transfers it is necessary to exchange the client (or Hub) certificates.

could have saved some time if i read this post befor answering the other

How to place the other users (or hubs) certificate into my own trusted certificate folder without overwriting my own certificates? Renaming it? - If yes, to which name? And how Apex is able then to assign that certificate to the right client or hub?

At a gusse i would say the name doesn't matter. DC will read all files and use the DN as an identifier. but it is a gusse, if chris can't answer this the dc++ forums are probly your best bet

Share this post

Link to post
Share on other sites
Sign in to follow this  
Followers 0