Dear all,
I recently had to start a new log to resolve a problem with uploading to clublog and hrdlog.
Downloaded the log to .adi -> create new log -> import .adi. Setting up all the other stuff.
So far, so good. It uploads now correctly to both online logs.
However, now eqsl fails. I am sure I use the correct user name / password.
It still works on when I select the old log. But with the new one I keep getting username/password error.
I think I know what the problem is. The password box in the preferences let me only enter 8 characters.
My password however is 9 characters long.
I guess this is introduced some versions ago. Upgrading is no problem, as I did not have to re-enter the password, and it still remembers it.
But now I have a new log, and preferences only let me store part of my password, which obviously will not work.
Any solution to this problem? I can of course change my password to 8 characters, but that is only a workaround.
I use version 2.5.2
73
Peter / PA3FQH
HI Peter!
If you have not changed password it should work also with new log.
Cqrlog lets you write longer password than 8 characters. Because you see only dots while writing password you can not see that dot "text" is scrolling while you write.
Checking password is easy as it is plain text in configs.
Open your old log let's say it is log 001. Then you will find a text file ~/.config/cqrlog/1cqrlog.cfg that you can open with text editor. Use editor's "Find" property to seek "eQSLName". You will find:
eQSLName=oh1kh
eQSLPass=XxXXxXXxX
I have changed my password to Xx, but it is really longer than 8 characters.
Close text editor and your log and open the new log. Lets say it is log 002.
Do the same as above but now filename is ~/.config/cqrlog/2cqrlog.cfg Compare "eQSLPass" to old log's password and you see is there difference.
In some old Cqrlogs there were problems with special characters in password. How ever they should be fixed (at least by 2.6.0). If your other log works with same Cqrlog program it can not be the case.
--
Saku
OH1KH
Hi Saku,
It gets more mysterious.
I have two logs. When I select one (with config file 1cqrlog.cfg) upload/download to eqsl works.
When I select the other (with config file 3cqrlog.cfg) it doesn't.
user and password are exactly the same in both config files
I renamed 3config.cfg to a backup and copied 1config.cfg to 3config.cfg. So the active log now has the same config file as the old one that has a working eqsl upload function.
Still the same: the old one works, the active one does not.
I am out of options I can think of now....
Hi!
You can not change files that way.
Start cqrlog and when in database connection window (no log open yet) select log (old), then utils/configuration/export and save to file.
After that you can select the other log (new) , then utils/configuration/import with saved file.
Only that way you can switch configurations. After you have done it you can open log(new) and see what happens.
Switching logs via folder when Cqrlog is running does not work.
But if you have different configs in logs do first export of all log configuratons before importing something to have backup of all configurations.
I assume you do not have external database in use with replication to another database. In those cases replication should be stopped if you try to delete a log and then create it again.
I had that kind of problem a while ago. I thought it was in configurations because always after importing config all was ok, but if log were closed and opened again the problem appeared.
But as said, it was because of database replication running behind and that is not your case. I hope.
--
Saku
OH1KH
Hello Saku,
Thanks for that. I did as you instructed and now everything seems to be in order again.
73's
Peter / PA3FQH
Unfortunately, I still have a problem with it.
Downloading from eQSL website works correctly, however, uploading fails with below message:
QSL server can process about 1000 QSO per minute. If you have
a lot of QSO to upload, it will take long time. So please be patient.
Uploading file ...
Size: 2430
After upload, please wait, eQSL will return some information!
Information: Received 1971 bytes
Error: No match on eQSL_User/eQSL_Pswd for date 20221120 10:35
Don't understand, as up and downloading uses the same credentials.
Below is a part of the debug information. Maybe there is someone who can make something sensible out of it?
DROP TRIGGER IF EXISTS cqrlog_main_bd
DROP TRIGGER IF EXISTS cqrlog_main_ai
DROP TRIGGER IF EXISTS cqrlog_main_bu
select id_cqrlog_main,qsodate,time_on,callsign,mode,band,freq,rst_s,rst_r,remarks, satellite, prop_mode, rxfreq from cqrlog_main where eqsl_qslsdate is null
Timeout:100s
QSO count:10
In StripHTML ...
Information: Received 1971 bytes
Error: No match on eQSL_User/eQSL_Pswd for date 20221120 10:35
CREATE TRIGGER `cqrlog_main_ai` AFTER INSERT ON `cqrlog_main` FOR EACH ROW
insert into log_changes(id_cqrlog_main,cmd,qsodate,time_on,callsign,mode,freq,band) values
(NEW.id_cqrlog_main,'INSERT',NEW.qsodate,NEW.time_on,NEW.callsign,NEW.mode,NEW.freq,NEW.band);
CREATE TRIGGER `cqrlog_main_bd` BEFORE DELETE ON `cqrlog_main` FOR EACH ROW
insert into log_changes(id_cqrlog_main,cmd,old_qsodate, old_time_on, old_callsign, old_mode, old_band,old_freq)
values (OLD.id_cqrlog_main,'DELETE',OLD.qsodate, OLD.time_on, OLD.callsign, OLD.mode, OLD.band, OLD.freq);
CREATE TRIGGER `cqrlog_main_bu` BEFORE UPDATE ON `cqrlog_main` FOR EACH ROW
insert into log_changes(id_cqrlog_main,cmd,old_qsodate, old_time_on, old_callsign, old_mode, old_band,old_freq,
qsodate, time_on, callsign, mode, band,freq)
values (OLD.id_cqrlog_main,'UPDATE',OLD.qsodate, OLD.time_on, OLD.callsign, OLD.mode, OLD.band,OLD.freq,
NEW.qsodate, NEW.time_on, NEW.callsign, NEW.mode, NEW.band, NEW.freq);
"Error: No match on eQSL_User/eQSL_Pswd for date 20221120 10:35"
Have you checked that your callsign is valid for you on eQSL service? Open with web browser go eqsl.cc, log in and check that your callsign there is valid:
Go "Home-My Accounts" and check there the "end" date. It there still time left? If not increase the end time.
--
Saku
OH1KH
My callsign appears to be valid between 1981 and 2035, so should be OK.
Also QTH Nickname is the same as entered in CQRLOG upload window
OK
Try to change simple password. Just letters A-Z,a-z numbers 0-9
Does it work then?
--
Saku
OH1KH
Hi Saku,
Changed my password as suggested. Now it works with both uploads and downloads.
There was a $ in my password, that apparently caused the error.
Makes me wonder a) why it worked for years with this password and b) why it works for downloading, but not for uploading.
73
Peter / PA3FQH
HI Peter!
If it had worked before maybe something has changed at eQSL server?
On upload the password and username is added to adif file as plain text:
Writeln(f,dmUtils.StringToADIF('&lgt;EQSL_USER',cqrini.ReadString('LoTW','eQSLName','')));
Writeln(f,dmUtils.StringToADIF('&lgt;EQSL_PSWD',cqrini.ReadString('LoTW','eQSLPass','')));
Using tags EQSL_USER and EQSL_PSWD. Password is not converted in any way and it goes in same data upload as qsos.
On download password is added to html request as parameter (not data) and then it is encoded:
url := cqrini.ReadString('LoTW', 'eQSLStartAddr','https://www.eqsl.cc/qslcard/DownloadInBox.cfm')+
'?UserName='+user+
'&Password='+dmUtils.EncodeURLData(pass)+
'&QTHNickname='+dmUtils.EncodeURLData(edtQTH.Text)+
'&RcvdSince='+StringReplace(edtDateFrom.Text,'-','',[rfReplaceAll, rfIgnoreCase]);
EncodeURLData converts HTML forbidden characters to hex representation %XX where XX is the ascii code of character. I.E dollar will be %24
Now it seems that eQSL does not accept dollar even in hex format. Perhaps something has changed there if it worked before.
The dollar ($) sign is a JavaScript identifier, maybe server now messes it up even when it is in hex format.
One wild guess is that it is some kind of security issue where hex representation of dollar has been able to launch an exploit code in some html-servers and that's why filtered completely off from parameters list.
--
Saku
OH1KH