diff --git a/include/libgourou.h b/include/libgourou.h index 921937b..d506494 100644 --- a/include/libgourou.h +++ b/include/libgourou.h @@ -34,10 +34,10 @@ #endif #ifndef ACS_SERVER -#define ACS_SERVER "http://adeactivate.adobe.com/adept" +#define ACS_SERVER "https://adeactivate.adobe.com/adept" #endif -#define LIBGOUROU_VERSION "0.8.8" +#define LIBGOUROU_VERSION "0.8.9" namespace gourou { diff --git a/src/libgourou.cpp b/src/libgourou.cpp index e34b676..80a5f78 100644 --- a/src/libgourou.cpp +++ b/src/libgourou.cpp @@ -1513,7 +1513,8 @@ namespace gourou } } - /* Delete objects that reference EBX objects, except in trailer */ + /* Delete objects that reference EBX objects, + except in trailer and objects that references Info */ for(it = objects.begin(); it != objects.end(); it++) { uPDFParser::Object* object = *it; @@ -1522,12 +1523,18 @@ namespace gourou { uPDFParser::Reference* encrypt = (uPDFParser::Reference*)(*object)["Encrypt"]; + if (object->hasKey("Info")) + { + object->deleteKey("Encrypt"); + continue; + } + /* Delete EBX objects */ for(ebxIt = ebxObjects.begin(); ebxIt != ebxObjects.end(); ebxIt++) { if (encrypt->value() == (*ebxIt)->objectId()) { - GOUROU_LOG(ERROR, "Delete stream id " << object->objectId()); + GOUROU_LOG(DEBUG, "Delete stream id " << object->objectId()); parser.removeObject(object); break; @@ -1540,7 +1547,7 @@ namespace gourou for(it = ebxObjects.begin(); it != ebxObjects.end(); it++) parser.removeObject(*it); - uPDFParser::Object& trailer = parser.getTrailer(); + uPDFParser::Object& trailer = parser.getTrailer(); trailer.deleteKey("Encrypt"); parser.write(filenameOut); diff --git a/utils/adept_loan_mgt.cpp b/utils/adept_loan_mgt.cpp index ab46d98..bb938d2 100644 --- a/utils/adept_loan_mgt.cpp +++ b/utils/adept_loan_mgt.cpp @@ -355,7 +355,7 @@ static void usage(const char* cmd) std::cout << " " << "-l|--list" << "\t\t" << "List all loaned books" << std::endl; std::cout << " " << "-r|--return" << "\t\t" << "Return a loaned book" << std::endl; std::cout << " " << "-d|--delete" << "\t\t" << "Delete a loan entry without returning it" << std::endl; - std::cout << " " << "-N|--no-notify" << "\t\t" << "Don't notify server, even if requested" << std::endl; + std::cout << " " << "-N|--no-notify" << "\t" << "Don't notify server, even if requested" << std::endl; std::cout << " " << "-v|--verbose" << "\t\t" << "Increase verbosity, can be set multiple times" << std::endl; std::cout << " " << "-V|--version" << "\t\t" << "Display libgourou version" << std::endl; std::cout << " " << "-h|--help" << "\t\t" << "This help" << std::endl; @@ -396,7 +396,7 @@ int main(int argc, char** argv) {0, 0, 0, 0 } }; - c = getopt_long(argc, argv, "d:lr:D:vVh", + c = getopt_long(argc, argv, "d:lr:D:NvVh", long_options, &option_index); if (c == -1) break;