head 1.3; access; symbols pkgsrc-2020Q4:1.2.0.54 pkgsrc-2020Q4-base:1.2 pkgsrc-2020Q3:1.2.0.52 pkgsrc-2020Q3-base:1.2 pkgsrc-2020Q2:1.2.0.48 pkgsrc-2020Q2-base:1.2 pkgsrc-2020Q1:1.2.0.28 pkgsrc-2020Q1-base:1.2 pkgsrc-2019Q4:1.2.0.50 pkgsrc-2019Q4-base:1.2 pkgsrc-2019Q3:1.2.0.46 pkgsrc-2019Q3-base:1.2 pkgsrc-2019Q2:1.2.0.44 pkgsrc-2019Q2-base:1.2 pkgsrc-2019Q1:1.2.0.42 pkgsrc-2019Q1-base:1.2 pkgsrc-2018Q4:1.2.0.40 pkgsrc-2018Q4-base:1.2 pkgsrc-2018Q3:1.2.0.38 pkgsrc-2018Q3-base:1.2 pkgsrc-2018Q2:1.2.0.36 pkgsrc-2018Q2-base:1.2 pkgsrc-2018Q1:1.2.0.34 pkgsrc-2018Q1-base:1.2 pkgsrc-2017Q4:1.2.0.32 pkgsrc-2017Q4-base:1.2 pkgsrc-2017Q3:1.2.0.30 pkgsrc-2017Q3-base:1.2 pkgsrc-2017Q2:1.2.0.26 pkgsrc-2017Q2-base:1.2 pkgsrc-2017Q1:1.2.0.24 pkgsrc-2017Q1-base:1.2 pkgsrc-2016Q4:1.2.0.22 pkgsrc-2016Q4-base:1.2 pkgsrc-2016Q3:1.2.0.20 pkgsrc-2016Q3-base:1.2 pkgsrc-2016Q2:1.2.0.18 pkgsrc-2016Q2-base:1.2 pkgsrc-2016Q1:1.2.0.16 pkgsrc-2016Q1-base:1.2 pkgsrc-2015Q4:1.2.0.14 pkgsrc-2015Q4-base:1.2 pkgsrc-2015Q3:1.2.0.12 pkgsrc-2015Q3-base:1.2 pkgsrc-2015Q2:1.2.0.10 pkgsrc-2015Q2-base:1.2 pkgsrc-2015Q1:1.2.0.8 pkgsrc-2015Q1-base:1.2 pkgsrc-2014Q4:1.2.0.6 pkgsrc-2014Q4-base:1.2 pkgsrc-2014Q3:1.2.0.4 pkgsrc-2014Q3-base:1.2 pkgsrc-2014Q2:1.2.0.2 pkgsrc-2014Q2-base:1.2 pkgsrc-2014Q1:1.1.0.6 pkgsrc-2014Q1-base:1.1 pkgsrc-2013Q4:1.1.0.4 pkgsrc-2013Q4-base:1.1 pkgsrc-2013Q3:1.1.0.2 pkgsrc-2013Q3-base:1.1; locks; strict; comment @// @; 1.3 date 2021.02.16.13.10.19; author adam; state dead; branches; next 1.2; commitid btUMWVMNHWca7WHC; 1.2 date 2014.03.31.14.42.20; author fhajny; state Exp; branches; next 1.1; commitid 00Sppth0Yim6rRux; 1.1 date 2013.09.17.21.09.50; author joerg; state Exp; branches; next ; commitid NWFJ8V3WzuGTQP5x; desc @@ 1.3 log @rudiments: updated to 1.3.1 Rudiments 1.3.1 This patch release fixes a bug in the rpm spec file and a missing library dependency in the link command for librudiments-apache. Rudiments 1.3.0 This release mainly featured integration of code from other projects. The remnants of the old firstworks project "stencil" have been merged in, as well as some MVC base classes from other projects. Some date-time parsing code from SQL Relay has been pushed down into the datetime class. There are some new features as well - most notably an encryption framework and aes128 class. There are also sax/dom parsers for CSV, ini, and java-style properties files as well, similar to the xml/json sax/dom classes. The logger classes have been refactored a bit, in back-incompatible ways. Thus the minor version bump. Full ChangeLog follows: unattended tests added support for escaping single/double-quotes to templateengine migrated in clasess from stencil project added librudiments-apache added \r\n support when parsing CSVs integrated MVC base classes from other projects added inisax/inidom and propsax/propdom classes added cronschedule class added logger start/end methods logger string-write works like printf now logger indent uses uint32_t now removed some unused logger::write() methods added a log level to the logger class process::spawn()'s forked child exits if exec() fails now charstring::replace() methods are null-safe now migrated datetime::parse() and datetime::formatAs() from sqlrelay csvsax accepts empty (or all whitespace) files now logger::write() is null-safe now base64encode is whitespace-safe now added support for 5-part dates and day-month-year 4-part dates added datetime::getWeekOfYear added file::extension added directory::createTemporaryDirectory added directory::removeTree added encryption interface added aes128 encryption added charstring::startsWith/endsWith Rudiments 1.2.2 This is a minor bug-fix release. ChangeLog follows: fixed another long-standing charstring::httpEscape bug -Wno-deprecated-declarations is now included if possible added configure tests for RB_HALT/AUTOBOOT (enums on solaris 11.4) certificate tests use sha1 if sha256 is unavailable filedescriptor::pvt->_lstnr is initialzed to NULL in clone operation now listener::listen() safely handles non pollin/out events now removed waitForChildren() from shutdown/crash handlers sigsuspend() fails if errno!=EINTR now instead of whether it returns -1 filtered out -Wl,-Bsymbolic-functions -Wl,-z,relro from krb5-config Rudiments 1.2.1 This is a minor bug-fix release. ChangeLog follows: charstring::isYes includes "on" and charstring::isNo includes "off" tabs are url-encoded correctly now "unsafe" characters are url-encoded now httpEscape uses character::isAlphanumeric now (to improve perforamnce) some file-descriptor-passing tweaks for modern FreeBSD fixed some json parsing bugs updated default_md=sha256 in ca.cnf to generate ca.pem in tests fixed a possible double-free in listener::cleanUp Rudiments 1.2.0 This release adds a few minor features, and fixes a few minor bugs... The jsonsax/dom classes handle escaping correctly now. The url class features a getError() method which returns more detailed error information than the error class. For example, if there's a protocol error, as opposed to an operating-system-level error, then url::getError() returns it. A sha256 class has been added. The sha1, sha256, and md5 classes now prefer to use libcrypto implementations, if they are available, as they might be hardware accelerated, but fall back to internal implementations if they are not available. hash::getHash() returns binary data now, for all hashes. Previously sha1/256 returned binary data and md5 returned a string. charstring::hexEncode()/hexDecode(), and charstring::before()/between()/after() methods have been added to the charstring class. The url class now supports setting the user agent and other headers for http urls. It also supports making http POST requests. The various container classes (linkedlist, avltree, dictionary, etc.) all support remove/clearAnd(Array)Delete methods. The removeAnd(Array)Delete methods remove the node from the container and delete the value stored in the node as well. The clearAnd(Array)Delete methods operate similarly, removing all nodes. @ text @$NetBSD: patch-src_xmldomnode.cpp,v 1.2 2014/03/31 14:42:20 fhajny Exp $ Avoid infinite loop. --- src/xmldomnode.cpp.orig 2013-11-04 04:50:03.000000000 +0000 +++ src/xmldomnode.cpp @@@@ -872,7 +872,7 @@@@ stringbuffer *xmldomnode::getPath() cons uint64_t *indices=new uint64_t[ancestors]; int64_t index; node=this; - for (index=ancestors-1; index>=0; index--) { + for (index=ancestors; index-->0;) { // get the name names[index]=node->getName(); @ 1.2 log @Update rudiments to 0.46. Changelog: 0.46 - updated filedestination::open to take a permissions parameter - added deployment projects for windows - tweaked make.batch install target to install 32-bit files under C:\Program Files (x86) - wrapped waitpid() in process class - added #define _WINSOCKAPI_ before windows.h includes to prevent redefintion of winsock defs later - fixed O_RDONLY detection on windows in file::openInternal - fixed shared memory segment sizing error on windows - fixed O_CREAT without O_EXCL bug on windows - fixed backwards loaddependencies flag in dynamiclib for windows - added file::eightDotThree - added charstring::stripSet and updated charstring::strip to return true/false if stripping occurred or not - removed stubs for unimplemented classes 0.45 - got the directory class working on windows - got the semaphoreset class working on windows - implemented passwd/groupentry::getSid and an internal id-name-sid map for windows - removed meaningless groupentry::getPassword - improved filesystem class implementation for Windows significantly - added a test for the memorymap class - got the memorymap class implementation working on Windows - got the sharedmemory class working on windows - added support for microseconds to the datetime class - build-tweaks for mingw32 - added process::spawn that maps more cleanly on windows than fork/exec - added thread class - added send/receiveSocket methods to filedescriptor class for systems like Windows that distinguish between sockets and other file descriptors - improved file class implementation for Windows - fixed a bug that caused all connect-with-timeout calls to fail - fixed a bug that caused permissions::setFilePermissions to fail on directories 0.44.1 - configure scripts attempts link for various _r functions now to catch cases where they're defined in the headers but not present in the library - tweaks for dlopen/dlsym on linux libc5 - reordered netinet/in.h and netinet/tcp.h includes for linux libc5 - configure script tweaks for OSR500 - extern "C" wrapper around sys/times.h for OSR500 - added xmldomnode::append/insertTag methods 0.44 - fixed inet_aton test to attempt link, not just compile - fixed vsnprintf test to work on arm linux - filedescriptor::printf now uses vdprintf, if available, if writes are not being buffered, and vasprintf, if available, if writes are being buffered - fixed a memory leak in filedescriptor::printf - added multiarch detection - applied Simon Martin's getenv-related patch to reset errno and allow getenv to return NULL - fixed a situation where an infinte loop could occur if getenv returned NULL and the most recent error from another system call was EINTR - added missing print() for const char *'s in linkedlistutils - tweaks for OSR505 - a few xmlsax optimization fixes - renamed *Data methods to *Value in linkedlist and dictionary classes - removed print methods and unlikely-to-be-used static methods from *entry classes - refactored the static convenience methods of the *entry classes - refactored xattr code a little to make it smaller - removed static methods from filesystem class to make it smaller - removed some static methods from file class to make it smaller - removed the clientserverfactory class - slight refactoring of linkedlist and dictionary classes - various process class fixes for Windows 0.43 - added a workaround for platforms that don't support blocking/non-blocking modes for sockets - added *printf wrappers to charstring, filedescriptor and stringbuffer classes - added test/include for sys/signal.h for platforms that need it - added support for uadmin with int vs. char 3rd argument - added snooze and retry if fork fails with EAGAIN - moved safePrint and printBits methods into the filedescriptor class - added a test and handling for fsetxattr with non-const third parameter - "hid openssl" by abstracting SSL types and moving includes into .cpp files - fixed erroneous end-of-buffer address when creating a variablebufferis with initial contents - added option to disable string cache in xmldom class - added "data" member to xmldomnode class for attaching app-specific data - improved codetree speed - fixed a "char" on ARM issue - fixed a longstanding issue where variablebuffers could get extended too much sometimes - renamed system class to sys to avoid collisions - added -Werror to configure-time tests for older systems where g++ doesn't return an error for an implicitly defined function - removed the rudiments namespace for compatibility with older compilers - replaced a bunch of unsigned long and long with [u]int(32|64)_t - removed the timezonefile class - renamed mutex class to threadmutex to avoid collisions - wrapped setsid() function - refactored and simplified dictionary and linkedlist classes - if thread detection fails it just disables threads now rather than erroring out - thread support is displayed in configure summary - refactored xmldomnnode::print() methods, added one to write to a filedescriptor - renamed memorypool methods malloc, calloc and free to allocate, allocateAndClear and deallocate to avoid collisions on platforms that define malloc and calloc using macros - fixed lots of cases where const char *'s were being deleted - renamed *serversocket to *socketserver - renamed *clientsocket to *socketclient - added 64-bit build support for Windows - refactored daemonprocess class and moved its methods into the process class @ text @d1 1 a1 1 $NetBSD: patch-src_xmldomnode.cpp,v 1.1 2013/09/17 21:09:50 joerg Exp $ @ 1.1 log @Don't bail out with Clang due to a unused private member. Fix infinite loop. bump revision. @ text @d1 1 a1 1 $NetBSD$ d5 1 a5 1 --- src/xmldomnode.cpp.orig 2013-09-17 20:33:44.000000000 +0000 d7 1 a7 2 @@@@ -707,7 +707,7 @@@@ stringbuffer *xmldomnode::getPath() cons const char **names=new const char *[ancestors]; d9 1 d11 2 a12 2 - for (uint64_t index=ancestors-1; index>=0; index--) { + for (uint64_t index=ancestors; index-->0;) { @