Evan Widloski

Results 168 comments of Evan Widloski

How about this function (taken from [here](https://stackoverflow.com/questions/32759318/how-to-escape-single-quote-in-xpath-1-0-in-selenium-for-python)): ``` python def escape_string_for_xpath(s): if '"' in s and "'" in s: return 'concat(%s)' % ", '\"',".join('"%s"' % x for x in s.split('"'))...

Is there a reason we should prefer elementpath to the above solution? For the sake of people packaging pykeepass, I want to avoid adding any more dependencies unless its really...

> The other reason is that basically the escaping function is error prone and if there's any other character that XPath 1.0 doesn't like it'll break. Creating a list of...

I've not used KeeAgent before, but I did some poking and the information is stored as an attachment on the Entry. ``` python In [49]: e Out[49]: Entry: "goobar_entry (None)"...

We should implement this fully for entries and groups before merging.

You can test if this is an error in Construct ``` python from construct import Struct, Bytes s = Struct("field1" / Bytes(16)) parsed = s.parse(b'\x00' * 16) s.build_file(parsed, '/path/to/file') parsed...

Thanks for reporting this. After looking through the keepassxc source, it seems like `master_seed`, `encryption_iv`, and `protected_stream_key` are indeed regenerated on save. [kdbx4](https://github.com/keepassxreboot/keepassxc/blob/3b459813ed19f9f7a4e79b237134a749151f13b2/src/format/Kdbx4Writer.cpp#L50-L53) [kdbx3](https://github.com/keepassxreboot/keepassxc/blob/3b459813ed19f9f7a4e79b237134a749151f13b2/src/format/Kdbx3Writer.cpp#L38-L42)

Thanks for the good work. > Probably obvious to pykeepass authors, but it wasn't to me: the correct attributes inside the kdbx structure to change differ depending on major_version; and...

Here's my solution to generate new seeds in a simplified pseudo-KeePass database. ```python from construct import Struct, RawCopy, Bytes, Checksum, this, Subconstruct from construct import stream_seek, stream_tell, stream_read, stream_write from...