Index: head/comms/trustedqsl/Makefile =================================================================== --- head/comms/trustedqsl/Makefile (revision 402562) +++ head/comms/trustedqsl/Makefile (revision 402563) @@ -1,57 +1,57 @@ # $FreeBSD$ PORTNAME= trustedqsl -PORTVERSION= 2.0.3 -PORTREVISION= 3 +PORTVERSION= 2.1.3 CATEGORIES= comms hamradio -MASTER_SITES= SF/${PORTNAME}/TrustedQSL/v${PORTVERSION}/ +MASTER_SITES= http://www.arrl.org/files/file/LoTW%20Instructions/ \ + LOCAL/shurd DISTNAME= tqsl-${PORTVERSION} MAINTAINER= hamradio@FreeBSD.org COMMENT= Amateur Radio Station electronic trusted logbook LICENSE= ARRL LICENSE_NAME= American Radio Relay League, Inc. All rights reserved. LICENSE_FILE= ${WRKSRC}/LICENSE.txt LICENSE_PERMS= dist-mirror pkg-mirror auto-accept LIB_DEPENDS= libcurl.so:${PORTSDIR}/ftp/curl USE_BDB= 5+ PKGMESSAGE= ${WRKDIR}/pkg-message -USES= cmake compiler:features pkgconfig +USES= cmake compiler:features pkgconfig tar:tgz CMAKE_ARGS= -DBDB_PREFIX=${LOCALBASE} USE_WX= 2.8+ WX_UNICODE= yes USE_LDCONFIG= yes USE_OPENSSL= yes OPTIONS_DEFINE= GEN_CRQ LOAD_CERT STATION_LOC CONVERTER GEN_CRQ_DESC= Build gen_crq LOAD_CERT_DESC= Build load_cert STATION_LOC_DESC= Build station_loc CONVERTER_DESC= Build converter GEN_CRQ_CMAKE_ON= -DBUILD_GENCRQ=ON LOAD_CERT_CMAKE_ON= -DBUILD_LOADCERT=ON STATION_LOC_CMAKE_ON= -DBUILD_STATIONLOC=ON CONVERTER_CMAKE_ON= -DBUILD_CONVERTER=ON OPTIONS_SUB= yes post-stage-GEN_CRQ-on: ${INSTALL_PROGRAM} ${WRKSRC}/src/gen_crq ${STAGEDIR}${PREFIX}/bin post-stage-LOAD_CERT-on: ${INSTALL_PROGRAM} ${WRKSRC}/src/load_cert ${STAGEDIR}${PREFIX}/bin post-stage-STATION_LOC-on: ${INSTALL_PROGRAM} ${WRKSRC}/src/station_loc ${STAGEDIR}${PREFIX}/bin post-stage-CONVERTER-on: ${INSTALL_PROGRAM} ${WRKSRC}/src/converter ${STAGEDIR}${PREFIX}/bin post-patch: @${SED} -e 's:%%PREFIX%%:${PREFIX}:g' \ ${FILESDIR}/pkg-message > ${WRKDIR}/pkg-message .include Index: head/comms/trustedqsl/distinfo =================================================================== --- head/comms/trustedqsl/distinfo (revision 402562) +++ head/comms/trustedqsl/distinfo (revision 402563) @@ -1,2 +1,2 @@ -SHA256 (tqsl-2.0.3.tar.gz) = 050e721be840c311a27034bd732a00a2aac304c37f7f8fca2af61c9709dd123f -SIZE (tqsl-2.0.3.tar.gz) = 2764339 +SHA256 (tqsl-2.1.3.tgz) = 188437fdb37eb966336abbfaa0e33d83488567504e8fc87589eca7bbf7b84472 +SIZE (tqsl-2.1.3.tgz) = 3443675 Property changes on: head/comms/trustedqsl/distinfo ___________________________________________________________________ Modified: fbsd:nokeywords ## -1 +1 ## -1 \ No newline at end of property +yes \ No newline at end of property Index: head/comms/trustedqsl/files/patch-src_gen_crq.cpp =================================================================== --- head/comms/trustedqsl/files/patch-src_gen_crq.cpp (revision 402562) +++ head/comms/trustedqsl/files/patch-src_gen_crq.cpp (nonexistent) @@ -1,24 +0,0 @@ ---- src/gen_crq.cpp.orig 2014-07-17 03:33:28.000000000 -0700 -+++ src/gen_crq.cpp 2014-07-17 03:34:02.000000000 -0700 -@@ -99,9 +99,9 @@ - throw tqslexc(); - if (tqsl_getCertificateDXCCEntity(sign_cert, &cdxcc)) - throw tqslexc(); -- cout << "Signing certificate issuer: " << buf << endl; -- cout << "Signing certificate serial: " << serial << endl; -- cout << " Signing certificate DXCC: " << cdxcc << endl; -+ std::cout << "Signing certificate issuer: " << buf << endl; -+ std::cout << "Signing certificate serial: " << serial << endl; -+ std::cout << " Signing certificate DXCC: " << cdxcc << endl; - if (tqsl_beginSigning(sign_cert, const_cast(""), 0, 0)) - throw tqslexc(); - } -@@ -124,7 +124,7 @@ - *cp = '_'; - } - string filename = string(argv[optind]) + ".tq5"; -- cout << "Creating CRQ for " << crq.callSign << " DXCC=" << crq.dxccEntity << endl; -+ std::cout << "Creating CRQ for " << crq.callSign << " DXCC=" << crq.dxccEntity << endl; - if (tqsl_createCertRequest(filename.c_str(), &crq, 0, 0)) - throw tqslexc(); - } Property changes on: head/comms/trustedqsl/files/patch-src_gen_crq.cpp ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: head/comms/trustedqsl/files/patch-src_openssl_cert.cpp =================================================================== --- head/comms/trustedqsl/files/patch-src_openssl_cert.cpp (revision 402562) +++ head/comms/trustedqsl/files/patch-src_openssl_cert.cpp (nonexistent) @@ -1,36 +0,0 @@ ---- src/openssl_cert.cpp.orig 2014-07-12 13:18:13.000000000 -0700 -+++ src/openssl_cert.cpp 2014-07-18 05:39:51.000000000 -0700 -@@ -4214,23 +4214,23 @@ - for (ep = ellist.find("Cert"); ep != ellist.end(); ep++) { - if (ep->first != "Cert") - break; -- pair rval = ep->second.getAttribute("serial"); -+ pair rval = ep->second->getAttribute("serial"); - if (rval.second && strtol(rval.first.c_str(), NULL, 10) == serial) { - exists = true; - break; - } - } - -- XMLElement cs("Cert"); -- cs.setPretext("\n "); -- XMLElement se; -- se.setPretext(cs.getPretext() + " "); -- se.setElementName("status"); -- se.setText(status); -- cs.addElement(se); -+ shared_ptr cs(new XMLElement("Cert")); -+ cs->setPretext("\n "); -+ shared_ptr se(new XMLElement); -+ se->setPretext(cs->getPretext() + " "); -+ se->setElementName("status"); -+ se->setText(status); -+ cs->addElement(se); - -- cs.setAttribute("serial", sstr); -- cs.setText("\n "); -+ cs->setAttribute("serial", sstr); -+ cs->setText("\n "); - - if (exists) - ellist.erase(ep); Property changes on: head/comms/trustedqsl/files/patch-src_openssl_cert.cpp ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: head/comms/trustedqsl/files/patch-CMakeLists.txt =================================================================== --- head/comms/trustedqsl/files/patch-CMakeLists.txt (nonexistent) +++ head/comms/trustedqsl/files/patch-CMakeLists.txt (revision 402563) @@ -0,0 +1,12 @@ +--- CMakeLists.txt.orig 2015-10-21 17:26:38 UTC ++++ CMakeLists.txt +@@ -15,6 +15,9 @@ find_package(OptionalAddSubdirectory REQ + + option(USE_STATIC_MSVCRT "Use a static Visual C++ Runtime when building with MSVC") + ++if(UNIX) ++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++1y") ++endif() + if(MSVC AND USE_STATIC_MSVCRT) + foreach(flag_var + CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_RELEASE Property changes on: head/comms/trustedqsl/files/patch-CMakeLists.txt ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/comms/trustedqsl/files/patch-apps_CMakeLists.txt =================================================================== --- head/comms/trustedqsl/files/patch-apps_CMakeLists.txt (revision 402562) +++ head/comms/trustedqsl/files/patch-apps_CMakeLists.txt (revision 402563) @@ -1,14 +1,15 @@ ---- apps/CMakeLists.txt 2014-05-08 17:59:25.000000000 -0700 -+++ ../../work.fixed/tqsl-2.0.2/apps/CMakeLists.txt 2014-05-24 00:46:38.000000000 -0700 -@@ -149,6 +149,10 @@ +--- apps/CMakeLists.txt.orig 2015-11-29 00:14:00 UTC ++++ apps/CMakeLists.txt +@@ -148,7 +148,11 @@ if(NOT APPLE AND NOT WIN32) + add_definitions("-DCONFDIR=\"${CMAKE_INSTALL_PREFIX}/share/TrustedQSL/\"") install(TARGETS tqsl DESTINATION bin) install(DIRECTORY help DESTINATION share/TrustedQSL) - install(FILES ca-bundle.crt DESTINATION share/TrustedQSL) - install(FILES tqsl.5 DESTINATION share/man/man5) + if(CMAKE_SYSTEM_NAME STREQUAL "FreeBSD") + install(FILES tqsl.5 DESTINATION man/man5) + else() + install(FILES tqsl.5 DESTINATION share/man/man5) + endif() install(FILES icons/key48.png DESTINATION share/pixmaps RENAME TrustedQSL.png) - endif() + install(FILES lang/de/tqslapp.mo DESTINATION share/locale/de/LC_MESSAGES) + install(FILES lang/de/wxstd.mo DESTINATION share/locale/de/LC_MESSAGES) Property changes on: head/comms/trustedqsl/files/patch-apps_CMakeLists.txt ___________________________________________________________________ Modified: fbsd:nokeywords ## -1 +1 ## -1 \ No newline at end of property +yes \ No newline at end of property Index: head/comms/trustedqsl/files/patch-apps_tqsl.cpp =================================================================== --- head/comms/trustedqsl/files/patch-apps_tqsl.cpp (revision 402562) +++ head/comms/trustedqsl/files/patch-apps_tqsl.cpp (revision 402563) @@ -1,11 +1,11 @@ ---- apps/tqsl.cpp 2014-05-08 17:59:25.000000000 -0700 -+++ ../../work.fixed/tqsl-2.0.2/apps/tqsl.cpp 2014-05-24 00:30:44.000000000 -0700 -@@ -54,7 +54,7 @@ - #endif - #include - #include // only for version info! --#include //only for version info! -+#include //only for version info! - - #include - #include +--- apps/tqsl.cpp.orig 2015-10-21 17:26:38 UTC ++++ apps/tqsl.cpp +@@ -4680,7 +4680,7 @@ QSLApp::OnInit() { + for (int i = 1; i < argc; i++) { + origCommandLine += wxT(" "); + origCommandLine += argv[i]; +- if (argv[i] && (argv[i][0] == wxT('-') || argv[i][0] == wxT('/'))) ++ if (argv[i] != NULL && (argv[i][0] == wxT('-') || argv[i][0] == wxT('/'))) + if (wxIsalpha(argv[i][1]) && wxIsupper(argv[i][1])) + argv[i][1] = wxTolower(argv[i][1]); + } Property changes on: head/comms/trustedqsl/files/patch-apps_tqsl.cpp ___________________________________________________________________ Modified: fbsd:nokeywords ## -1 +1 ## -1 \ No newline at end of property +yes \ No newline at end of property Index: head/comms/trustedqsl/files/patch-cmakemodules_FindBDB.cmake =================================================================== --- head/comms/trustedqsl/files/patch-cmakemodules_FindBDB.cmake (revision 402562) +++ head/comms/trustedqsl/files/patch-cmakemodules_FindBDB.cmake (revision 402563) @@ -1,26 +1,41 @@ ---- cmakemodules/FindBDB.cmake.orig 2014-05-08 17:59:25.000000000 -0700 -+++ cmakemodules/FindBDB.cmake 2014-05-24 01:29:11.000000000 -0700 -@@ -6,6 +6,7 @@ +--- cmakemodules/FindBDB.cmake.orig 2015-10-21 17:26:38 UTC ++++ cmakemodules/FindBDB.cmake +@@ -1,10 +1,12 @@ + # Find Berkeley DB + + # Look for the header file. +-if(APPLE) #exclude obsolete default OSX db ++if(APPLE OR CMAKE_HOST_SYSTEM_NAME STREQUAL "FreeBSD") #exclude obsolete default OSX db + FIND_PATH(BDB_INCLUDE_DIR db.h NO_DEFAULT_PATH PATHS "/usr/local/BerkeleyDB.6.0/include" "/usr/local/BerkeleyDB.5.3/include" - "${BDB_PREFIX}/include" ++ "/usr/local/include/db5" + "${BDB_PREFIX}/include/db5" + "${BDB_PREFIX}/include" ) else() - FIND_PATH(BDB_INCLUDE_DIR db.h -@@ -29,6 +30,7 @@ +@@ -15,6 +17,8 @@ FIND_PATH(BDB_INCLUDE_DIR db.h + "C:\\db-6.0.20\\build_windows" + "C:\\db-6.0.20\\build_windows" + "C:\\db-5.3.21\\build_windows" ++ #*nix dirs ++ "${BDB_PREFIX}/include" + ) + endif() + MARK_AS_ADVANCED(BDB_INCLUDE_DIR) +@@ -31,6 +35,7 @@ FIND_LIBRARY(BDB_LIBRARY NAMES + libdb6-0.3 + libdb6-0.so + libdb_small53s ++ libdb5 libdb53s libdb5-5.3 libdb5-5.so -+ libdb5 - PATHS - "C:\\db-6.0.20\\build_windows\\Win32\\Static Release\\" - "C:\\db-6.0.20\\build_windows\\Win32\\Static_Release\\" #vc08 adds underscore -@@ -38,6 +40,7 @@ +@@ -45,6 +50,7 @@ FIND_LIBRARY(BDB_LIBRARY NAMES "/usr/local/BerkeleyDB.6.0/lib" "/usr/local/BerkeleyDB.5.3/lib" "${BDB_PREFIX}/lib" + "${BDB_PREFIX}/lib/db5" "${BDB_PREFIX}" ) MARK_AS_ADVANCED(BDB_LIBRARY) Property changes on: head/comms/trustedqsl/files/patch-cmakemodules_FindBDB.cmake ___________________________________________________________________ Modified: fbsd:nokeywords ## -1 +1 ## -1 \ No newline at end of property +yes \ No newline at end of property Index: head/comms/trustedqsl/files/patch-src_converter.cpp =================================================================== --- head/comms/trustedqsl/files/patch-src_converter.cpp (revision 402562) +++ head/comms/trustedqsl/files/patch-src_converter.cpp (revision 402563) @@ -1,11 +1,11 @@ ---- src/converter.cpp.orig 2014-07-17 03:34:36.000000000 -0700 -+++ src/converter.cpp 2014-07-17 03:36:07.000000000 -0700 -@@ -88,7 +88,7 @@ +--- src/converter.cpp.orig 2015-10-21 17:26:38 UTC ++++ src/converter.cpp +@@ -88,7 +88,7 @@ main(int argc, char *argv[]) { optind++; const char *ofile = (optind < argc) ? argv[optind] : "converted.tq7"; ofstream out; - out.open(ofile, ios::out|ios::trunc|ios::binary); + out.open(ofile, std::ios::out|std::ios::trunc|std::ios::binary); if (!out.is_open()) throw myexc(string("Unable to open ") + ofile); bool haveout = false; Index: head/comms/trustedqsl/files/patch-src_gen__crq.cpp =================================================================== --- head/comms/trustedqsl/files/patch-src_gen__crq.cpp (nonexistent) +++ head/comms/trustedqsl/files/patch-src_gen__crq.cpp (revision 402563) @@ -0,0 +1,31 @@ +--- src/gen_crq.cpp.orig 2015-10-21 17:26:38 UTC ++++ src/gen_crq.cpp +@@ -99,9 +99,9 @@ main(int argc, char *argv[]) { + throw tqslexc(); + if (tqsl_getCertificateDXCCEntity(sign_cert, &cdxcc)) + throw tqslexc(); +- cout << "Signing certificate issuer: " << buf << endl; +- cout << "Signing certificate serial: " << serial << endl; +- cout << " Signing certificate DXCC: " << cdxcc << endl; ++ std::cout << "Signing certificate issuer: " << buf << endl; ++ std::cout << "Signing certificate serial: " << serial << endl; ++ std::cout << " Signing certificate DXCC: " << cdxcc << endl; + if (tqsl_beginSigning(sign_cert, const_cast(""), 0, 0)) + throw tqslexc(); + } +@@ -124,13 +124,13 @@ main(int argc, char *argv[]) { + *cp = '_'; + } + string filename = string(argv[optind]) + ".tq5"; +- cout << "Creating CRQ for " << crq.callSign << " DXCC=" << crq.dxccEntity << endl; ++ std::cout << "Creating CRQ for " << crq.callSign << " DXCC=" << crq.dxccEntity << endl; + if (tqsl_createCertRequest(filename.c_str(), &crq, 0, 0)) + throw tqslexc(); + } + return EXIT_SUCCESS; + } catch(exception& x) { +- cerr << "Aborting: " << x.what() << endl; ++ std::cerr << "Aborting: " << x.what() << endl; + return EXIT_FAILURE; + } + return EXIT_SUCCESS; Property changes on: head/comms/trustedqsl/files/patch-src_gen__crq.cpp ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/comms/trustedqsl/files/patch-src_location.cpp =================================================================== --- head/comms/trustedqsl/files/patch-src_location.cpp (revision 402562) +++ head/comms/trustedqsl/files/patch-src_location.cpp (revision 402563) @@ -1,110 +1,189 @@ ---- src/location.cpp.orig 2014-07-12 13:18:13.000000000 -0700 -+++ src/location.cpp 2014-07-18 05:40:36.000000000 -0700 -@@ -1957,7 +1957,7 @@ +--- src/location.cpp.orig 2015-10-21 17:26:38 UTC ++++ src/location.cpp +@@ -2226,7 +2226,7 @@ tqsl_load_loc(TQSL_LOCATION *loc, XMLEle if (field.gabbi_name != "") { // A field that may exist XMLElement el; - if (ep->second.getFirstElement(field.gabbi_name, el)) { + if (ep->second->getFirstElement(field.gabbi_name, el)) { field.cdata = el.getText(); switch (field.input_type) { case TQSL_LOCATION_FIELD_DDLIST: -@@ -2086,11 +2086,11 @@ - for (ep = ellist.find("StationData"); ep != ellist.end(); ep++) { - if (ep->first != "StationData") +@@ -2368,7 +2368,7 @@ tqsl_mergeStationLocations(const char *l + for (nameiter = namelist.find("StationData"); nameiter != namelist.end(); nameiter++) { + if (nameiter->first != "StationData") break; -- pair rval = ep->second.getAttribute("name"); -+ pair rval = ep->second->getAttribute("name"); +- pair rval = nameiter->second.getAttribute("name"); ++ pair rval = nameiter->second->getAttribute("name"); if (rval.second) { - TQSL_LOCATION *oldloc; - TQSL_LOCATION *newloc; -- ep->second.getFirstElement("CALL", call); -+ ep->second->getFirstElement("CALL", call); - for (size_t j = 0; j < calls.size(); j++) { - if (calls[j] == call.getText()) { - if (tqsl_getStationLocation(reinterpret_cast(&oldloc), rval.first.c_str())) { // Location doesn't exist -@@ -2125,7 +2125,7 @@ + locnames.push_back(rval.first); + } +@@ -2381,7 +2381,7 @@ tqsl_mergeStationLocations(const char *l for (ep = ellist.find("StationData"); ep != ellist.end(); ep++) { if (ep->first != "StationData") break; - pair rval = ep->second.getAttribute("name"); + pair rval = ep->second->getAttribute("name"); - if (rval.second && !strcasecmp(rval.first.c_str(), name)) { - ellist.erase(ep); - return tqsl_dump_station_data(sfile); -@@ -2158,7 +2158,7 @@ + bool found = false; + if (rval.second) { + for (size_t j = 0; j < locnames.size(); j++) { +@@ -2393,19 +2393,19 @@ tqsl_mergeStationLocations(const char *l + } + if (!found) { + // Add this one to the station data file +- XMLElement newtop("StationData"); +- newtop.setPretext("\n "); +- newtop.setAttribute("name", rval.first); +- newtop.setText("\n "); +- XMLElement sub; +- sub.setPretext(newtop.getPretext() + " "); ++ std::shared_ptr newtop(new XMLElement("StationData")); ++ newtop->setPretext("\n "); ++ newtop->setAttribute("name", rval.first); ++ newtop->setText("\n "); ++ std::shared_ptr sub(new XMLElement); ++ sub->setPretext(newtop->getPretext() + " "); + XMLElement el; +- bool elok = ep->second.getFirstElement(el); ++ bool elok = ep->second->getFirstElement(el); + while (elok) { +- sub.setElementName(el.getElementName()); +- sub.setText(el.getText()); +- newtop.addElement(sub); +- elok = ep->second.getNextElement(el); ++ sub->setElementName(el.getElementName()); ++ sub->setText(el.getText()); ++ newtop->addElement(sub); ++ elok = ep->second->getNextElement(el); + } + old_data.addElement(newtop); + old_data.setText("\n"); +@@ -2444,7 +2444,7 @@ tqsl_move_station_location(const char *n + for (from_ep = from_ellist.find("StationData"); from_ep != from_ellist.end(); from_ep++) { + if (from_ep->first != "StationData") + break; +- pair from_rval = from_ep->second.getAttribute("name"); ++ pair from_rval = from_ep->second->getAttribute("name"); + if (from_rval.second && !strcasecmp(from_rval.first.c_str(), name)) { + // Match, move it. + // First, delete any old backup for this station location +@@ -2453,26 +2453,26 @@ tqsl_move_station_location(const char *n + for (to_ep = to_ellist.find("StationData"); to_ep != to_ellist.end(); to_ep++) { + if (to_ep->first != "StationData") + break; +- pair to_rval = to_ep->second.getAttribute("name"); ++ pair to_rval = to_ep->second->getAttribute("name"); + if (to_rval.second && !strcasecmp(to_rval.first.c_str(), name)) { + to_ellist.erase(to_ep); + break; + } + } + // Now add it to the target +- XMLElement newtop("StationData"); +- newtop.setPretext("\n "); +- newtop.setAttribute("name", from_rval.first); +- newtop.setText("\n "); +- XMLElement sub; +- sub.setPretext(newtop.getPretext() + " "); ++ std::shared_ptr newtop(new XMLElement("StationData")); ++ newtop->setPretext("\n "); ++ newtop->setAttribute("name", from_rval.first); ++ newtop->setText("\n "); ++ std::shared_ptr sub(new XMLElement); ++ sub->setPretext(newtop->getPretext() + " "); + XMLElement el; +- bool elok = from_ep->second.getFirstElement(el); ++ bool elok = from_ep->second->getFirstElement(el); + while (elok) { +- sub.setElementName(el.getElementName()); +- sub.setText(el.getText()); +- newtop.addElement(sub); +- elok = from_ep->second.getNextElement(el); ++ sub->setElementName(el.getElementName()); ++ sub->setText(el.getText()); ++ newtop->addElement(sub); ++ elok = from_ep->second->getNextElement(el); + } + to_sfile.addElement(newtop); + to_sfile.setText("\n"); +@@ -2528,7 +2528,7 @@ tqsl_getStationLocation(tQSL_Location *l for (ep = ellist.find("StationData"); ep != ellist.end(); ep++) { if (ep->first != "StationData") break; - pair rval = ep->second.getAttribute("name"); + pair rval = ep->second->getAttribute("name"); if (rval.second && !strcasecmp(trim(rval.first).c_str(), trim(loc->name).c_str())) { exists = true; break; -@@ -2321,30 +2321,31 @@ - return 1; +@@ -2724,33 +2724,33 @@ tqsl_location_to_xml(TQSL_LOCATION *loc, + } for (int i = 0; i < numf; i++) { TQSL_LOCATION_FIELD& field = loc->pagelist[loc->page-1].fieldlist[i]; - XMLElement fd; - fd.setPretext(sd.getPretext() + " "); - fd.setElementName(field.gabbi_name); -+ shared_ptr fd(new XMLElement); ++ std::shared_ptr fd(new XMLElement); + fd->setPretext(sd.getPretext() + " "); + fd->setElementName(field.gabbi_name); switch (field.input_type) { case TQSL_LOCATION_FIELD_DDLIST: case TQSL_LOCATION_FIELD_LIST: if (field.idx < 0 || field.idx >= static_cast(field.items.size())) { - fd.setText(""); + fd->setText(""); + if (field.gabbi_name == "CALL") { +- fd.setText("NONE"); ++ fd->setText("NONE"); + } } else if (field.data_type == TQSL_LOCATION_FIELD_INT) { char numbuf[20]; snprintf(numbuf, sizeof numbuf, "%d", field.items[field.idx].ivalue); - fd.setText(numbuf); + fd->setText(numbuf); } else { - fd.setText(field.items[field.idx].text); + fd->setText(field.items[field.idx].text); } break; case TQSL_LOCATION_FIELD_TEXT: field.cdata = trim(field.cdata); if (field.flags & TQSL_LOCATION_FIELD_UPPER) field.cdata = string_toupper(field.cdata); - fd.setText(field.cdata); + fd->setText(field.cdata); break; } - if (strcmp(fd.getText().c_str(), "")) + if (strcmp(fd->getText().c_str(), "")) -+ if (strcmp(fd->getText().c_str(), "")) sd.addElement(fd); } int rval; -@@ -2407,7 +2408,7 @@ +@@ -2824,7 +2824,7 @@ tqsl_saveStationLocationCapture(tQSL_Loc for (ep = ellist.find("StationData"); ep != ellist.end(); ep++) { if (ep->first != "StationData") break; - pair rval = ep->second.getAttribute("name"); + pair rval = ep->second->getAttribute("name"); if (rval.second && !strcasecmp(rval.first.c_str(), loc->name.c_str())) { exists = true; break; -@@ -2417,12 +2418,12 @@ +@@ -2835,14 +2835,14 @@ tqsl_saveStationLocationCapture(tQSL_Loc tQSL_Error = TQSL_NAME_EXISTS; return 1; } - XMLElement sd("StationData"); - sd.setPretext("\n "); -- if (tqsl_location_to_xml(loc, sd)) -+ shared_ptr sd(new XMLElement("StationData")); +- if (tqsl_location_to_xml(loc, sd)) { ++ std::shared_ptr sd(new XMLElement("StationData")); + sd->setPretext("\n "); -+ if (tqsl_location_to_xml(loc, *sd)) ++ if (tqsl_location_to_xml(loc, *sd)) { + tqslTrace("tqsl_saveStationLocationCaptureName", "error in loc_to_xml %d", tQSL_Error); return 1; + } - sd.setAttribute("name", loc->name); - sd.setText("\n "); + sd->setAttribute("name", loc->name); + sd->setText("\n "); // If 'exists', ep points to the existing station record if (exists) Index: head/comms/trustedqsl/files/patch-src_openssl__cert.cpp =================================================================== --- head/comms/trustedqsl/files/patch-src_openssl__cert.cpp (nonexistent) +++ head/comms/trustedqsl/files/patch-src_openssl__cert.cpp (revision 402563) @@ -0,0 +1,60 @@ +--- src/openssl_cert.cpp.orig 2015-10-21 17:26:38 UTC ++++ src/openssl_cert.cpp +@@ -3353,18 +3353,18 @@ tqsl_restoreCallsignCertificate(const ch + for (ep = ellist.find("UserCert"); ep != ellist.end(); ep++) { + if (ep->first != "UserCert") + break; +- pair rval = ep->second.getAttribute("CallSign"); ++ pair rval = ep->second->getAttribute("CallSign"); + if (rval.second) call = rval.first; +- rval = ep->second.getAttribute("serial"); ++ rval = ep->second->getAttribute("serial"); + if (rval.second) serial = strtol(rval.first.c_str(), NULL, 10); +- rval = ep->second.getAttribute("dxcc"); ++ rval = ep->second->getAttribute("dxcc"); + if (rval.second) dxcc = strtol(rval.first.c_str(), NULL, 10); + + XMLElement el; +- if (ep->second.getFirstElement("SignedCert", el)) { ++ if (ep->second->getFirstElement("SignedCert", el)) { + publicKey = el.getText(); + } +- if (ep->second.getFirstElement("PrivateKey", el)) { ++ if (ep->second->getFirstElement("PrivateKey", el)) { + privateKey = el.getText(); + } + } +@@ -5208,23 +5208,23 @@ tqsl_setCertificateStatus(long serial, c + for (ep = ellist.find("Cert"); ep != ellist.end(); ep++) { + if (ep->first != "Cert") + break; +- pair rval = ep->second.getAttribute("serial"); ++ pair rval = ep->second->getAttribute("serial"); + if (rval.second && strtol(rval.first.c_str(), NULL, 10) == serial) { + exists = true; + break; + } + } + +- XMLElement cs("Cert"); +- cs.setPretext("\n "); +- XMLElement se; +- se.setPretext(cs.getPretext() + " "); +- se.setElementName("status"); +- se.setText(status); +- cs.addElement(se); ++ std::shared_ptr cs(new XMLElement("Cert")); ++ cs->setPretext("\n "); ++ std::shared_ptr se(new XMLElement); ++ se->setPretext(cs->getPretext() + " "); ++ se->setElementName("status"); ++ se->setText(status); ++ cs->addElement(se); + +- cs.setAttribute("serial", sstr); +- cs.setText("\n "); ++ cs->setAttribute("serial", sstr); ++ cs->setText("\n "); + + if (exists) + ellist.erase(ep); Property changes on: head/comms/trustedqsl/files/patch-src_openssl__cert.cpp ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/comms/trustedqsl/files/patch-src_tqslconvert.cpp =================================================================== --- head/comms/trustedqsl/files/patch-src_tqslconvert.cpp (revision 402562) +++ head/comms/trustedqsl/files/patch-src_tqslconvert.cpp (revision 402563) @@ -1,11 +1,11 @@ ---- src/tqslconvert.cpp.orig 2013-10-20 19:33:20.000000000 -0500 -+++ src/tqslconvert.cpp 2013-12-07 20:54:11.000000000 -0500 -@@ -23,7 +23,7 @@ - #include - #include - #include --#include -+#include - - #include - //#include +--- src/tqslconvert.cpp.orig 2015-10-21 17:26:38 UTC ++++ src/tqslconvert.cpp +@@ -549,7 +549,7 @@ static bool open_db(TQSL_CONVERTER *conv + fprintf(conv->errfile, "opening DB %s returns status %s\n", conv->dbpath, db_strerror(dbret)); + // Can't open the database - maybe try private? + if ((dbret == EACCES || dbret == EROFS) || (dbret == EINVAL && errno == dbret)) { +- if (!(envflags && DB_PRIVATE)) { ++ if (!(envflags & DB_PRIVATE)) { + envflags |= DB_PRIVATE; + continue; + } Index: head/comms/trustedqsl/files/patch-src_xml.cpp =================================================================== --- head/comms/trustedqsl/files/patch-src_xml.cpp (revision 402562) +++ head/comms/trustedqsl/files/patch-src_xml.cpp (revision 402563) @@ -1,46 +1,34 @@ ---- src/xml.cpp.orig 2014-07-12 13:18:13.000000000 -0700 -+++ src/xml.cpp 2014-07-18 05:40:18.000000000 -0700 -@@ -20,6 +20,11 @@ - using std::string; - using std::ostream; - using std::map; -+#ifdef USE_TR1 -+using std::tr1::shared_ptr; -+#else -+using std::make_shared; -+#endif - - namespace tqsllib { - -@@ -41,17 +46,17 @@ +--- src/xml.cpp.orig 2015-10-21 17:26:38 UTC ++++ src/xml.cpp +@@ -47,17 +47,17 @@ XMLElement::getAttribute(const string& k void XMLElement::xml_start(void *data, const XML_Char *name, const XML_Char **atts) { XMLElement *el = reinterpret_cast(data); - XMLElement new_el(name); -+ shared_ptr new_el(new XMLElement(name)); ++ std::shared_ptr new_el(new XMLElement(name)); //cout << "Element: " << name << endl; for (int i = 0; atts[i]; i += 2) { - new_el.setAttribute(atts[i], atts[i+1]); + new_el->setAttribute(atts[i], atts[i+1]); } if (el->_parsingStack.empty()) { el->_parsingStack.push_back(el->addElement(new_el)); } else { - new_el.setPretext(el->_parsingStack.back()->second.getText()); - el->_parsingStack.back()->second.setText(""); - el->_parsingStack.push_back(el->_parsingStack.back()->second.addElement(new_el)); + new_el->setPretext(el->_parsingStack.back()->second->getText()); + el->_parsingStack.back()->second->setText(""); + el->_parsingStack.push_back(el->_parsingStack.back()->second->addElement(new_el)); } } -@@ -65,7 +70,7 @@ +@@ -71,7 +71,7 @@ XMLElement::xml_end(void *data, const XM void XMLElement::xml_text(void *data, const XML_Char *text, int len) { XMLElement *el = reinterpret_cast(data); - el->_parsingStack.back()->second._text.append(text, len); + el->_parsingStack.back()->second->_text.append(text, len); } - /* + int Index: head/comms/trustedqsl/files/patch-src_xml.h =================================================================== --- head/comms/trustedqsl/files/patch-src_xml.h (revision 402562) +++ head/comms/trustedqsl/files/patch-src_xml.h (revision 402563) @@ -1,70 +1,43 @@ ---- src/xml.h.orig 2014-07-12 13:18:13.000000000 -0700 -+++ src/xml.h 2014-07-18 05:43:47.000000000 -0700 -@@ -16,6 +16,14 @@ - #include - #include - #include -+#if defined(__GNUC__) && !defined(__clang__) -+#define USE_TR1 -+#endif -+#ifdef USE_TR1 -+#include -+#else -+#include -+#endif +--- src/xml.h.orig 2015-10-21 17:26:38 UTC ++++ src/xml.h +@@ -28,7 +28,7 @@ namespace tqsllib { - using std::pair; - using std::string; -@@ -23,12 +31,19 @@ - using std::map; - using std::multimap; - using std::vector; -+#ifdef USE_TR1 -+using std::tr1::shared_ptr; -+#else -+using std::shared_ptr; -+using std::make_shared; -+#endif -+ - - namespace tqsllib { - class XMLElement; -typedef multimap XMLElementList; -+typedef multimap > XMLElementList; ++typedef multimap > XMLElementList; typedef map XMLElementAttributeList; /** Encapsulates an XML element -@@ -62,7 +77,7 @@ +@@ -62,7 +62,7 @@ class XMLElement { */ pair getAttribute(const string& key); /// Add an element to the list of contained subelements - XMLElementList::iterator addElement(const XMLElement& element); -+ XMLElementList::iterator addElement(shared_ptr& element); ++ XMLElementList::iterator addElement(std::shared_ptr element); XMLElementAttributeList& getAttributeList() { return _attributes; } XMLElementList& getElementList() { return _elements; } /// Parse an XML file and add its element tree to this element -@@ -134,8 +149,8 @@ +@@ -134,8 +134,8 @@ XMLElement::setAttribute(const string& k } inline XMLElementList::iterator -XMLElement::addElement(const XMLElement& element) { - XMLElementList::iterator it = _elements.insert(make_pair(element.getElementName(), element)); -+XMLElement::addElement(shared_ptr& element) { ++XMLElement::addElement(std::shared_ptr element) { + XMLElementList::iterator it = _elements.insert(make_pair(element->getElementName(), element)); return it; } -@@ -158,9 +173,9 @@ +@@ -158,9 +158,9 @@ inline bool XMLElement::getNextElement(XMLElement& element) { if (_iter == _elements.end()) return false; - if (_iterByName && _iter->second.getElementName() != _iterName) + if (_iterByName && _iter->second->getElementName() != _iterName) return false; - element = _iter->second; + element = *_iter->second; ++_iter; return true; } Index: head/comms/trustedqsl/pkg-plist =================================================================== --- head/comms/trustedqsl/pkg-plist (revision 402562) +++ head/comms/trustedqsl/pkg-plist (revision 402563) @@ -1,110 +1,137 @@ bin/tqsl %%CONVERTER%%bin/converter %%GEN_CRQ%%bin/gen_crq %%LOAD_CERT%%bin/load_cert %%STATION_LOC%%bin/station_loc include/adif.h include/cabrillo.h include/tqslconvert.h include/tqslerrno.h include/tqsllib.h lib/libtqsllib.so man/man5/tqsl.5.gz -share/TrustedQSL/ca-bundle.crt share/TrustedQSL/config.xml +share/TrustedQSL/help/tqslapp/CertProp.bmp +share/TrustedQSL/help/tqslapp/EnterPassword.bmp +share/TrustedQSL/help/tqslapp/LoTWCerts.bmp +share/TrustedQSL/help/tqslapp/RenewUpload.bmp share/TrustedQSL/help/tqslapp/P12.bmp share/TrustedQSL/help/tqslapp/Pending.bmp share/TrustedQSL/help/tqslapp/TQ5.bmp share/TrustedQSL/help/tqslapp/TQ6.bmp share/TrustedQSL/help/tqslapp/TQ8.bmp share/TrustedQSL/help/tqslapp/TQSLCert.bmp share/TrustedQSL/help/tqslapp/about.bmp share/TrustedQSL/help/tqslapp/addcert1.bmp share/TrustedQSL/help/tqslapp/addcertaccept.htm share/TrustedQSL/help/tqslapp/addcertreq.htm share/TrustedQSL/help/tqslapp/additional-info.htm share/TrustedQSL/help/tqslapp/addstnl0.bmp share/TrustedQSL/help/tqslapp/backuprestore.htm share/TrustedQSL/help/tqslapp/cabrillo.htm share/TrustedQSL/help/tqslapp/certaccept.htm share/TrustedQSL/help/tqslapp/certaccept1.bmp share/TrustedQSL/help/tqslapp/certaccept2.bmp +share/TrustedQSL/help/tqslapp/certificateproperties.htm +share/TrustedQSL/help/tqslapp/certificatesecurity.htm +share/TrustedQSL/help/tqslapp/certificatevalidity.htm +share/TrustedQSL/help/tqslapp/certreplace.htm share/TrustedQSL/help/tqslapp/certreq.htm share/TrustedQSL/help/tqslapp/certreq1.bmp share/TrustedQSL/help/tqslapp/certs-icons.htm share/TrustedQSL/help/tqslapp/cmdline.htm share/TrustedQSL/help/tqslapp/configops.htm share/TrustedQSL/help/tqslapp/configxml.htm share/TrustedQSL/help/tqslapp/contents.hhc share/TrustedQSL/help/tqslapp/crq0.htm share/TrustedQSL/help/tqslapp/crq1.htm share/TrustedQSL/help/tqslapp/crq2.htm share/TrustedQSL/help/tqslapp/crq3.htm share/TrustedQSL/help/tqslapp/crq4.htm share/TrustedQSL/help/tqslapp/daterng.bmp share/TrustedQSL/help/tqslapp/daterng.htm share/TrustedQSL/help/tqslapp/deletecert.htm share/TrustedQSL/help/tqslapp/diagmode.htm share/TrustedQSL/help/tqslapp/duplicate.bmp share/TrustedQSL/help/tqslapp/example1.htm share/TrustedQSL/help/tqslapp/expiration.bmp share/TrustedQSL/help/tqslapp/expiration.htm share/TrustedQSL/help/tqslapp/expired.bmp share/TrustedQSL/help/tqslapp/fileops.htm share/TrustedQSL/help/tqslapp/files-icons.htm share/TrustedQSL/help/tqslapp/glossary.htm share/TrustedQSL/help/tqslapp/index.htm share/TrustedQSL/help/tqslapp/installation.htm -share/TrustedQSL/help/tqslapp/loadcert.htm +share/TrustedQSL/help/tqslapp/key-concepts.htm +share/TrustedQSL/help/tqslapp/load-certificate.htm +share/TrustedQSL/help/tqslapp/localization.htm share/TrustedQSL/help/tqslapp/login.htm share/TrustedQSL/help/tqslapp/logopstab.bmp share/TrustedQSL/help/tqslapp/lotw.htm share/TrustedQSL/help/tqslapp/main.htm share/TrustedQSL/help/tqslapp/moving.htm share/TrustedQSL/help/tqslapp/netproxy.htm share/TrustedQSL/help/tqslapp/newp12pw.bmp share/TrustedQSL/help/tqslapp/newpw.bmp share/TrustedQSL/help/tqslapp/pref-adi.htm share/TrustedQSL/help/tqslapp/pref-adi1.bmp share/TrustedQSL/help/tqslapp/pref-adi2.bmp share/TrustedQSL/help/tqslapp/pref-adi3.bmp share/TrustedQSL/help/tqslapp/pref-cab.htm share/TrustedQSL/help/tqslapp/pref-cab1.bmp share/TrustedQSL/help/tqslapp/pref-cab2.bmp share/TrustedQSL/help/tqslapp/pref-cab3.bmp share/TrustedQSL/help/tqslapp/pref-opt.bmp share/TrustedQSL/help/tqslapp/pref-opt.htm share/TrustedQSL/help/tqslapp/primary.htm +share/TrustedQSL/help/tqslapp/promptforcall.bmp share/TrustedQSL/help/tqslapp/qsodata.bmp share/TrustedQSL/help/tqslapp/qsodata.htm share/TrustedQSL/help/tqslapp/renewing.htm share/TrustedQSL/help/tqslapp/renewing1.bmp share/TrustedQSL/help/tqslapp/renewing2.bmp share/TrustedQSL/help/tqslapp/replaced.bmp -share/TrustedQSL/help/tqslapp/save.htm +share/TrustedQSL/help/tqslapp/restoredeletedcert.htm +share/TrustedQSL/help/tqslapp/restoredeletedstnloc.htm +share/TrustedQSL/help/tqslapp/save-certificate.htm share/TrustedQSL/help/tqslapp/savestnl.bmp share/TrustedQSL/help/tqslapp/secondarycertops.htm +share/TrustedQSL/help/tqslapp/secondarystnlocops.htm +share/TrustedQSL/help/tqslapp/selectlanguage.htm share/TrustedQSL/help/tqslapp/sign1.bmp share/TrustedQSL/help/tqslapp/signconf.bmp share/TrustedQSL/help/tqslapp/signdone.bmp share/TrustedQSL/help/tqslapp/signing.htm share/TrustedQSL/help/tqslapp/signupload.htm share/TrustedQSL/help/tqslapp/signupload1.bmp share/TrustedQSL/help/tqslapp/stnloc.bmp share/TrustedQSL/help/tqslapp/stnloc.htm +share/TrustedQSL/help/tqslapp/stnloc0.bmp share/TrustedQSL/help/tqslapp/stnloc1.bmp share/TrustedQSL/help/tqslapp/stnloc1.htm share/TrustedQSL/help/tqslapp/stnloc2.bmp share/TrustedQSL/help/tqslapp/stnloc2.htm share/TrustedQSL/help/tqslapp/stnloc3.bmp share/TrustedQSL/help/tqslapp/stnloc4.bmp share/TrustedQSL/help/tqslapp/stnloc5.bmp share/TrustedQSL/help/tqslapp/tqslapp.chm share/TrustedQSL/help/tqslapp/tqslapp.hhp share/TrustedQSL/help/tqslapp/tqslstyle.css share/TrustedQSL/help/tqslapp/unlock.bmp share/TrustedQSL/help/tqslapp/unlock.htm share/TrustedQSL/help/tqslapp/update.htm share/TrustedQSL/help/tqslapp/update1.bmp share/TrustedQSL/help/tqslapp/update2.bmp +share/locale/de/LC_MESSAGES/tqslapp.mo +share/locale/de/LC_MESSAGES/wxstd.mo +share/locale/es/LC_MESSAGES/tqslapp.mo +share/locale/es/LC_MESSAGES/wxstd.mo +share/locale/fr/LC_MESSAGES/tqslapp.mo +share/locale/fr/LC_MESSAGES/wxstd.mo +share/locale/it/LC_MESSAGES/tqslapp.mo +share/locale/it/LC_MESSAGES/wxstd.mo +share/locale/ja/LC_MESSAGES/tqslapp.mo +share/locale/ja/LC_MESSAGES/wxstd.mo +share/locale/pt/LC_MESSAGES/tqslapp.mo +share/locale/pt/LC_MESSAGES/wxstd.mo share/pixmaps/TrustedQSL.png