Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

security/pam_radius fails due to expecting different libpam header layout in base #343

Closed
Kurlon opened this issue Mar 30, 2016 · 11 comments

Comments

@Kurlon
Copy link

Kurlon commented Mar 30, 2016

Trying to build pam_radius 1.4.0 results in a configure failure complaining that /usr/include/security/pam_modules.h is present but cannot be compiled. Digging in further shows this failure during configure:

configure:4543: checking security/pam_modules.h usability
configure:4543: gcc -c -g -O2 -Wall -D_GNU_SOURCE  conftest.c >&5
In file included from conftest.c:83:0:
/usr/include/security/pam_modules.h:38:2: error: unknown type name 'pam_handle_t'
  pam_handle_t *pamh,
  ^
/usr/include/security/pam_modules.h:45:2: error: unknown type name 'pam_handle_t'
  pam_handle_t *pamh,
  ^
/usr/include/security/pam_modules.h:52:2: error: unknown type name 'pam_handle_t'
  pam_handle_t *pamh,
  ^
/usr/include/security/pam_modules.h:59:2: error: unknown type name 'pam_handle_t'
  pam_handle_t *pamh,
  ^
/usr/include/security/pam_modules.h:66:2: error: unknown type name 'pam_handle_t'
  pam_handle_t *pamh,
  ^
/usr/include/security/pam_modules.h:80:2: error: unknown type name 'pam_handle_t'
  pam_handle_t *pamh,
  ^
/usr/include/security/pam_modules.h:92:2: error: unknown type name 'pam_handle_t'
  pam_handle_t *pamh,  /* PAM handle */
  ^
/usr/include/security/pam_modules.h:95:18: error: unknown type name 'pam_handle_t'
  void (*cleanup)(pam_handle_t *pamh, void *data, int pam_end_status)
                  ^
/usr/include/security/pam_modules.h:104:8: error: unknown type name 'pam_handle_t'
  const pam_handle_t *pamh,
        ^

Looking at the header files in base I can see where pam_handle_t is defined in /usr/include/security/pam_appl.h. Looking at libpam's src repository pam_handle_t is normally defined in _pam_types.h and pulled into pam_modules.h as an include. If I manually include the pam_handle_t typedef into pam_modules.h then pam_radius_auth builds.

I'm not sure what the proper way to work around this is, patch the configure script to skip the compile test on that one header file, force it to manually drag in pam_appl.h when it tests, or something else.

@jclulow
Copy link

jclulow commented Mar 30, 2016

I don't think there is anything "non-standard" here. Looking at the illumos manual page pam_sm(3PAM), we see that a PAM service module is expected to include security/pam_appl.h before including security/pam_modules.h. This also appears to be the case in the OpenGroup documentation and documents for other platforms like Mac OS X.

I suspect pam_radius should be fixed to have the correct includes.

@Kurlon
Copy link
Author

Kurlon commented Mar 30, 2016

I was referencing against libpam's src, didn't know about that particular man page so I'll add that to my notes. So, it sounds like I need to figure out how to coax configure to force including pam_appl.h when testing for other includes, and make sure that propagates to the make script as well?

@jclulow
Copy link

jclulow commented Mar 30, 2016

Are there platforms that ship security/pam_modules.h without also shipping security/pam_appl.h? It seems like the code should just always test for, and include, both together.

@Kurlon
Copy link
Author

Kurlon commented Mar 30, 2016

On other platforms that use libpam, security/pam_modules.h and security/pam_appl.h both have include statements to pull in security/_pam_types.h. At that point you can include pam_modules.h and automatically get the required typedef without explicitly including the other files. This is the behavior the configure script for pam_radius is expecting. Weather or not pam_modules.h and pam_appl.h are actually useful for anything on their own beyond a basic gcc test pass I can't say.

I'm going to dig a bit into FreeRadius' src to see if I can find the change that broke pam_radius on Sun as I know it used to build cleanly in the past.

@Kurlon Kurlon changed the title security/pam_radius fails due to non-standard libpam header layout in base security/pam_radius fails due to expecting different libpam header layout in base Mar 31, 2016
@Kurlon
Copy link
Author

Kurlon commented Mar 31, 2016

Found a commit in the pam_radius git that appears to address this issue directly from Jan of 2015:
FreeRADIUS/pam_radius@f6e2fb9

I should be able to patch configure and configure.ac to match, which will get pam_radius building again while waiting for a new release that includes this fix in it.

@Kurlon
Copy link
Author

Kurlon commented Mar 31, 2016

Confirmed, the fix from pam_radius's head applies cleanly and results in a viable binary. I'll see if I can't correct the package and make a proper pull request next.

@Kurlon
Copy link
Author

Kurlon commented Mar 31, 2016

Updated patch-configure and new patch-configure.ac attached.

pam-radius-patches.zip

@Kurlon
Copy link
Author

Kurlon commented Apr 4, 2016

If I do up a pull request, would you prefer I go against head or the current stable tag?

@mamash
Copy link

mamash commented Apr 4, 2016

Head is better, we'd apply manually anyway, as the upstream is CVS.

@Kurlon
Copy link
Author

Kurlon commented Apr 6, 2016

Pull request filed. I'm way too rusty at this.

@mamash
Copy link

mamash commented Apr 12, 2016

Committed upstream, thanks!

@mamash mamash closed this as completed Apr 12, 2016
jperkin pushed a commit that referenced this issue Apr 19, 2016
Version 1.0.1
-------------

New features:

Usually there are no new features in a bugfix release, but these were added
due to their high impact on security/safety/speed or because they are fixes
also:

- append-only mode for repositories, #809, #36 (see docs)
- borg create: add --ignore-inode option to make borg detect unmodified files
  even if your filesystem does not have stable inode numbers (like sshfs and
  possibly CIFS).
- add options --warning, --error, --critical for missing log levels, #826.
  it's not recommended to suppress warnings or errors, but the user may decide
  this on his own.
  note: --warning is not given to borg serve so a <= 1.0.0 borg will still
  work as server (it is not needed as it is the default).
  do not use --error or --critical when using a <= 1.0.0 borg server.

Bug fixes:

- fix silently skipping EIO, #748
- add context manager for Repository (avoid orphan repository locks), #285
- do not sleep for >60s while waiting for lock, #773
- unpack file stats before passing to FUSE
- fix build on illumos
- don't try to backup doors or event ports (Solaris and derivates)
- remove useless/misleading libc version display, #738
- test suite: reset exit code of persistent archiver, #844
- RemoteRepository: clean up pipe if remote open() fails
- Remote: don't print tracebacks for Error exceptions handled downstream, #792
- if BORG_PASSPHRASE is present but wrong, don't prompt for password, but fail
  instead, #791
- ArchiveChecker: move "orphaned objects check skipped" to INFO log level, #826
- fix capitalization, add ellipses, change log level to debug for 2 messages,
  #798

Other changes:

- update llfuse requirement, llfuse 1.0 works
- update OS / dist packages on build machines, #717
- prefer showing --info over -v in usage help, #859
- docs:

  - fix cygwin requirements (gcc-g++)
  - document how to debug / file filesystem issues, #664
  - fix reproducible build of api docs
  - RTD theme: CSS !important overwrite, #727
  - Document logo font. Recreate logo png. Remove GIMP logo file.


Version 1.0.0
-------------

The major release number change (0.x -> 1.x) indicates bigger incompatible
changes, please read the compatibility notes, adapt / test your scripts and
check your backup logs.

Compatibility notes:

- drop support for python 3.2 and 3.3, require 3.4 or 3.5, #221 #65 #490
  note: we provide binaries that include python 3.5.1 and everything else
  needed. they are an option in case you are stuck with < 3.4 otherwise.
- change encryption to be on by default (using "repokey" mode)
- moved keyfile keys from ~/.borg/keys to ~/.config/borg/keys,
  you can either move them manually or run "borg upgrade <REPO>"
- remove support for --encryption=passphrase,
  use borg migrate-to-repokey to switch to repokey mode, #97
- remove deprecated --compression <number>,
  use --compression zlib,<number> instead
  in case of 0, you could also use --compression none
- remove deprecated --hourly/daily/weekly/monthly/yearly
  use --keep-hourly/daily/weekly/monthly/yearly instead
- remove deprecated --do-not-cross-mountpoints,
  use --one-file-system instead
- disambiguate -p option, #563:

  - -p now is same as --progress
  - -P now is same as --prefix
- remove deprecated "borg verify",
  use "borg extract --dry-run" instead
- cleanup environment variable semantics, #355
  the environment variables used to be "yes sayers" when set, this was
  conceptually generalized to "automatic answerers" and they just give their
  value as answer (as if you typed in that value when being asked).
  See the "usage" / "Environment Variables" section of the docs for details.
- change the builtin default for --chunker-params, create 2MiB chunks, #343
  --chunker-params new default: 19,23,21,4095 - old default: 10,23,16,4095

  one of the biggest issues with borg < 1.0 (and also attic) was that it had a
  default target chunk size of 64kiB, thus it created a lot of chunks and thus
  also a huge chunk management overhead (high RAM and disk usage).

  please note that the new default won't change the chunks that you already
  have in your repository. the new big chunks do not deduplicate with the old
  small chunks, so expect your repo to grow at least by the size of every
  changed file and in the worst case (e.g. if your files cache was lost / is
  not used) by the size of every file (minus any compression you might use).

  in case you want to immediately see a much lower resource usage (RAM / disk)
  for chunks management, it might be better to start with a new repo than
  continuing in the existing repo (with an existing repo, you'ld have to wait
  until all archives with small chunks got pruned to see a lower resource
  usage).

  if you used the old --chunker-params default value (or if you did not use
  --chunker-params option at all) and you'ld like to continue using small
  chunks (and you accept the huge resource usage that comes with that), just
  explicitly use borg create --chunker-params=10,23,16,4095.
- archive timestamps: the 'time' timestamp now refers to archive creation
  start time (was: end time), the new 'time_end' timestamp refers to archive
  creation end time. This might affect prune if your backups take rather long.
  if you give a timestamp via cli this is stored into 'time', therefore it now
  needs to mean archive creation start time.

New features:

- implement password roundtrip, #695

Bug fixes:

- remote end does not need cache nor keys directories, do not create them, #701
- added retry counter for passwords, #703

Other changes:

- fix compiler warnings, #697
- docs:

  - update README.rst to new changelog location in docs/changes.rst
  - add Teemu to AUTHORS
  - changes.rst: fix old chunker params, #698
  - FAQ: how to limit bandwidth


Version 1.0.0rc2
----------------

New features:

- format options for location: user, pid, fqdn, hostname, now, utcnow, user
- borg list --list-format
- borg prune -v --list enables the keep/prune list output, #658

Bug fixes:

- fix _open_rb noatime handling, #657
- add a simple archivename validator, #680
- borg create --stats: show timestamps in localtime, use same labels/formatting
  as borg info, #651
- llfuse compatibility fixes (now compatible with: 0.40, 0.41, 0.42)

Other changes:

- it is now possible to use "pip install borgbackup[fuse]" to automatically
  install the llfuse dependency using the correct version requirement
  for it. you still need to care about having installed the FUSE / build
  related OS package first, though, so that building llfuse can succeed.
- Vagrant: drop Ubuntu Precise (12.04) - does not have Python >= 3.4
- Vagrant: use pyinstaller v3.1.1 to build binaries
- docs:

  - borg upgrade: add to docs that only LOCAL repos are supported
  - borg upgrade also handles borg 0.xx -> 1.0
  - use pip extras or requirements file to install llfuse
  - fix order in release process
  - updated usage docs and other minor / cosmetic fixes
  - verified borg examples in docs, #644
  - freebsd dependency installation and fuse configuration, #649
  - add example how to restore a raw device, #671
  - add a hint about the dev headers needed when installing from source
  - add examples for delete (and handle delete after list, before prune), #656
  - update example for borg create -v --stats (use iso datetime format), #663
  - added example to BORG_RSH docs
  - "connection closed by remote": add FAQ entry and point to issue #636


Version 1.0.0rc1
----------------

New features:

- borg migrate-to-repokey ("passphrase" -> "repokey" encryption key mode)
- implement --short for borg list REPO, #611
- implement --list for borg extract (consistency with borg create)
- borg serve: overwrite client's --restrict-to-path with ssh forced command's
  option value (but keep everything else from the client commandline), #544
- use $XDG_CONFIG_HOME/keys for keyfile keys (~/.config/borg/keys), #515
- "borg upgrade" moves the keyfile keys to the new location
- display both archive creation start and end time in "borg info", #627


Bug fixes:

- normalize trailing slashes for the repository path, #606
- Cache: fix exception handling in __init__, release lock, #610

Other changes:

- suppress unneeded exception context (PEP 409), simpler tracebacks
- removed special code needed to deal with imperfections / incompatibilities /
  missing stuff in py 3.2/3.3, simplify code that can be done simpler in 3.4
- removed some version requirements that were kept on old versions because
  newer did not support py 3.2 any more
- use some py 3.4+ stdlib code instead of own/openssl/pypi code:

  - use os.urandom instead of own cython openssl RAND_bytes wrapper, #493
  - use hashlib.pbkdf2_hmac from py stdlib instead of own openssl wrapper
  - use hmac.compare_digest instead of == operator (constant time comparison)
  - use stat.filemode instead of homegrown code
  - use "mock" library from stdlib, #145
  - remove borg.support (with non-broken argparse copy), it is ok in 3.4+, #358
- Vagrant: copy CHANGES.rst as symlink, #592
- cosmetic code cleanups, add flake8 to tox/travis, #4
- docs / help:

  - make "borg -h" output prettier, #591
  - slightly rephrase prune help
  - add missing example for --list option of borg create
  - quote exclude line that includes an asterisk to prevent shell expansion
  - fix dead link to license
  - delete Ubuntu Vivid, it is not supported anymore (EOL)
  - OS X binary does not work for older OS X releases, #629
  - borg serve's special support for forced/original ssh commands, #544
  - misc. updates and fixes


Version 0.30.0
--------------

Compatibility notes:

- you may need to use -v (or --info) more often to actually see output emitted
  at INFO log level (because it is suppressed at the default WARNING log level).
  See the "general" section in the usage docs.
- for borg create, you need --list (additionally to -v) to see the long file
  list (was needed so you can have e.g. --stats alone without the long list)
- see below about BORG_DELETE_I_KNOW_WHAT_I_AM_DOING (was:
  BORG_CHECK_I_KNOW_WHAT_I_AM_DOING)

Bug fixes:

- fix crash when using borg create --dry-run --keep-tag-files, #570
- make sure teardown with cleanup happens for Cache and RepositoryCache,
  avoiding leftover locks and TEMP dir contents, #285 (partially), #548
- fix locking KeyError, partial fix for #502
- log stats consistently, #526
- add abbreviated weekday to timestamp format, fixes #496
- strip whitespace when loading exclusions from file
- unset LD_LIBRARY_PATH before invoking ssh, fixes strange OpenSSL library
  version warning when using the borg binary, #514
- add some error handling/fallback for C library loading, #494
- added BORG_DELETE_I_KNOW_WHAT_I_AM_DOING for check in "borg delete", #503
- remove unused "repair" rpc method name

New features:

- borg create: implement exclusions using regular expression patterns.
- borg create: implement inclusions using patterns.
- borg extract: support patterns, #361
- support different styles for patterns:

  - fnmatch (`fm:` prefix, default when omitted), like borg <= 0.29.
  - shell (`sh:` prefix) with `*` not matching directory separators and
    `**/` matching 0..n directories
  - path prefix (`pp:` prefix, for unifying borg create pp1 pp2 into the
    patterns system), semantics like in borg <= 0.29
  - regular expression (`re:`), new!
- --progress option for borg upgrade (#291) and borg delete <archive>
- update progress indication more often (e.g. for borg create within big
  files or for borg check repo), #500
- finer chunker granularity for items metadata stream, #547, #487
- borg create --list now used (additionally to -v) to enable the verbose
  file list output
- display borg version below tracebacks, #532

Other changes:

- hashtable size (and thus: RAM and disk consumption) follows a growth policy:
  grows fast while small, grows slower when getting bigger, #527
- Vagrantfile: use pyinstaller 3.1 to build binaries, freebsd sqlite3 fix,
  fixes #569
- no separate binaries for centos6 any more because the generic linux binaries
  also work on centos6 (or in general: on systems with a slightly older glibc
  than debian7
- dev environment: require virtualenv<14.0 so we get a py32 compatible pip
- docs:

  - add space-saving chunks.archive.d trick to FAQ
  - important: clarify -v and log levels in usage -> general, please read!
  - sphinx configuration: create a simple man page from usage docs
  - add a repo server setup example
  - disable unneeded SSH features in authorized_keys examples for security.
  - borg prune only knows "--keep-within" and not "--within"
  - add gource video to resources docs, #507
  - add netbsd install instructions
  - authors: make it more clear what refers to borg and what to attic
  - document standalone binary requirements, #499
  - rephrase the mailing list section
  - development docs: run build_api and build_usage before tagging release
  - internals docs: hash table max. load factor is 0.75 now
  - markup, typo, grammar, phrasing, clarifications and other fixes.
  - add gcc gcc-c++ to redhat/fedora/corora install docs, fixes #583
jperkin pushed a commit that referenced this issue Apr 19, 2016
* Fix MASTER_SITES to github
* Fix dependences

Changelog:
Version 1.8.7
-------------

- Added Copy From Singular operation and Next/Prev Plural Form navigation shortcuts.
- Translation errors are now properly translated.
- Fixed default Turkish plural form.
- Fixed a bug where a perfect match wouldn't be found in the TM in some rare cases.
- Updated bundled gettext to 0.19.7 (added appdata.xml and ITS support).
- Assorted bugfixes.


Version 1.8.6
-------------

- Fix properties window on OS X 10.9 and older.
- Fix visual flicker when quickly scrolling through a file with arrow keys.
- [OS X] Fix rare exception when pasting text.
- Fix file width autodetection when long comments were present.
- Disable Find next/prev menu items properly.


Version 1.8.5
-------------

- Improved setting and handling of source paths.
- Implement gzip support in Crowdin API client.
- Assorted fixes.


Version 1.8.4
-------------

- Fixed bug in handling POTs with plural forms introduced in 1.8.3.


Version 1.8.3
-------------

- Fixed Last-Translator error when creating a new translation from existing POT.
- Fixed bogus "Sources not available" error for single files setups.
- Fixed TM error reporting to prevent rendering the entire UI mostly unusable.


Version 1.8.2
-------------

- text editor now ensures that trailing newlines are present only if they also
  exist in the source text
- fix HTML export error on Windows
- automatically fix some bad paths settings in PO files
- improved source language detection
- fix incorrect timezone of PO-Revision-Date in some cases
- use the user's default browser for Crowdin authentication on all platforms
  (wxWebView no longer required as a dependency when building on Linux)


Version 1.8.1
-------------

- fix TM-related crash under heavy concurrency
- [OS X] fix crash when a concurrent task throws


Version 1.8
-----------

- integration with the Crowdin localization management platform
- search & replace
- support for directly handling POT files
- improved interface for configuring source code paths
- Poedit now automatically fixes certain broken files produced by certain
  broken tools (e.g. WPML)
- modernized HTML export
- [OS X] Quick  Look preview
- support for non-English source languages (auto-detected)
- [Windows] opening multiple Poedit windows now works correctly


Version 1.7.7
-------------

- strip whitespace in extractor definitions resulting from copy & paste


Version 1.7.6
-------------

- fix handling of multiple displays
- [Windows] fix "file couldn't be formatted nicely" problems with files in
  directories with (some) Unicode names


Version 1.7.5
-------------

- fix scrolling to the top when saving a file; focus should be preserved now
- fix disabling of extractors in preferences (oops)
- [Windows, OS X] improve resilience of the TM to power loss


Version 1.7.4
-------------

- size of the bottom editing part is now remembered correctly again
- [GTK+] fix broken Edit->Copy/Cut/Paste
- [OS X] fix stray BOM marks appearing on suggestions in some cases
- [OS X] fix Brazilian Portuguese localization not being used
- [OS X] fix sandbox permission window with unusual source paths setting
- [Windows] HiDPI support


Version 1.7.3
-------------

- it is now possible to disable unwanted extractors in preferences
- source paths in catalog properties can now include individual files
- exclusion paths in catalog properties can now use wildcards
  (e.g. *.js, now default for WordPress)
- "Consult TM when updating from sources" now includes only "good" matches
  (with at least 75% score)
- fix losing of the editing position when saving a file
- fix Preferences layout in Japanese and Chinese translations
- Windows: fix custom font setting after using a suggestion or copying from
  source text

(there was no version 1.7.2)


Version 1.7.1
-------------

- fix menu shortcuts problem in Polish localization


Version 1.7
-----------

- reworked preferences
- support for extraction from JavaScript (and more) sources
- suggestions and other relevant information (comments etc.) are now much
  easier to access in a unified sidebar
- syntax highlighting of special characters in translations
- added Group by Context sorting option
- implemented multiple selection
- formatting of PO files can now be customized
- added support for msgmerge --no-fuzzy-matching


Version 1.6.10
--------------

- multiple fixes to parsing of the Language header
- fix handling of broken POTs with duplicate headers
- improved robustness of the Lucene TM database
- misc small fixes
- translations updates and fixes


Version 1.6.9
-------------

- fixes to handling of RTL translations
- fix editing-related crashes under wxGTK
- translations updates


Version 1.6.8
-------------

- fix parsing of obsolete entries in PO files
- improved spellchecker handling on OS X and Windows
- misc fixes
- translations updates


Version 1.6.7
-------------

- better handle "fatal" (but not really) msgfmt errors
- OS X: fix OS X 10.7 compatibility
- OS X/Win: update bundled Gettext to 0.19.2
- translations updates


Version 1.6.6
-------------

- added exclusion paths support to updating from sources
- spellchecking is now supported on Windows 8+
- STL version of wxWidgets is no longer required to build on Unix
- update Windows and OS X builds to GNU gettext 0.19
- misc fixes
- translations updates


Version 1.6.5
-------------

- assorted small bugfixes


Version 1.6.4
-------------

- translation memory tuning
- Unix: restore compatibility with GTK+ 2
- misc fixes
- minor UI improvements (better wording etc.)
- OS X: misc fixes for Mavericks compatibility
- OS X/Win: update bundled Gettext to 0.18.3.2
- translations updates


Version 1.6.3
-------------

- fix invocation of external parser tools that need PATH
- Unix: use XDG_CONFIG_HOME for dotfile location
- OS X: fix conflict with Smart Quotes on Mavericks
- translations updates


Version 1.6.2
-------------

- fix TM failures with non-ASCII paths on Windows
- add support for Zend Framework's .phtml
- and support for WordPress' translators: comments
- translations updates


Version 1.6.1
-------------

- fixes to TM migration code
- OS X: fixes for Retina displays


Version 1.6
-----------

- improved languages handling (entering, sorting, plural forms expressions)
- completely new translation memory implementation
- assorted UI improvements
- better build systems on OS X and Windows
- OS X: minimum required version is 10.7; PPC builds are no longer supported


Version 1.5.7
-------------

- fix incorrect --add-comments flag introduced in 1.5.6


Version 1.5.6
-------------

- fix several problems with the file viewer: better lookup of files,
  fix display of UTF-8 files, better detection of DOS-style paths
- fix Find window's text field focus on OS X
- add --add-comments=TRANSLATORS to xgettext call in default parsers
- fix parsing of obsolete entries to recognize "#~|"
- fix incorrect update stats when using msg contexts
- translations updates


Version 1.5.5
-------------

- fix crash when auto-updating translations with some TMs
- fix file corruption when the catalog's charset was set to one that
  couldn't represent all of the text
- translations updates


Version 1.5.4
-------------

- fix display of source code (#472)
- fix bug when saving file fails on permissions (#491)
- fix Unix makefiles to install all icons (#493)
- translations updates

Version 1.5.3
-------------


- fixes to parsing of msgfmt errors
- misc UI fixes
- OS X: fixed crash when closing a document and opening another
- fixed compatibility with OS X 10.5 Leopard
- fixed problems with TM migration after upgrade
- reverted removal of line numbers in 1.5.2
- reverted: the default is to compile MO files on save again
- translations updates


Version 1.5.2
-------------

- fixed crash when clearing the translation (#428, #468)
- removed no longer needed line numbers from the UI
- OS X: improved attention bar looks
- translations updates


Version 1.5.1
-------------

- Windows: fix missing libstdc++-6.dll
- updated several translations


Version 1.5
-----------

- show translation errors inline with the entries they relate to, instead of a
  confusing errors log when saving
- implement full support for message contexts
- replaced popups when Poedit is started for the first time with
  unobtrusive Firefox-style notifications
- selecting suggested translation from right-click popup menu now
  correctly removes fuzzy flag from the translation
- warn the user if Plural-Forms header is inconsistent with the number
  of plural translations in the catalog or if has syntax errors
- correctly deduce catalog's language from filenames in the form of
  foo.LANG.po, as used by several large Open Source projects (#267)
- Boost library is now required when compiling from sources
- fixed the Find window so that it can be closed using the Esc key (#187)
- positions of translation fields are now remembered correctly when
  Poedit window is maximized (#194)
- added Edit->Clear translation command (Marcin Floryan)
- removed View->Fullscreen view, it doesn't make sense in this kind of app
- better application and document icons
- removed the "Shaded translations list" option, it's now always enabled
- misc minor UI improvements
- fixed possible transaction memory database corruption (#337, #352)
- added instructions on how to install additional spellchecker dictionaries
- added sorting by different criteria (#256, #239)
- improved source files viewer (#346)
- included outdated documentation was replaced with online wiki docs (#343)
- more keyboard navigation shortcuts
- saving PO files no longer reformats source code references (#323);
  moreover, they are always formatted according to the default style
  used by GNU gettext tools (#348)
- don't restore remembered window positions if they are outside currently
  available screens (#318)
- changed Alt+ shortcuts to non-conflicting Ctrl+ ones: "Copy From Source
  Text" now uses Ctrl+B and "Translation Is Fuzzy" Ctrl+U
- various UI improvements
- added more translations:
     Bosnian translation (Kenan Dervisevic)
     Tajik (Victor Ibragimov)
     Kurdish Sorani (Asos Ap)
jperkin pushed a commit that referenced this issue Oct 18, 2016
## [1.11.3][] (2016-09-16)

  * Fix known_hosts caching to match on the entire hostlist
    [PR #364](capistrano/sshkit#364) @byroot

## [1.11.2][] (2016-07-29)

### Bug fixes

  * Fixed a crash occurring when `Host@keys` was set to a non-Enumerable.
    @xavierholt [PR #360](capistrano/sshkit#360)

## [1.11.1][] (2016-06-17)

### Bug fixes

  * Fixed a regression in 1.11.0 that would cause
    `ArgumentError: invalid option(s): known_hosts` in some older versions of
    net-ssh. @byroot [#357](capistrano/sshkit#357)

## [1.11.0][] (2016-06-14)

### Bug fixes

  * Fixed colorized output alignment in Logger::Pretty. @xavierholt
    [PR #349](capistrano/sshkit#349)
  * Fixed a bug that prevented nested `with` calls
    [#43](capistrano/sshkit#43)

### Other changes

  * Known hosts lookup optimization is now enabled by default. @byroot

## 1.10.0 (2016-04-22)

  * You can now opt-in to caching of SSH's known_hosts file for a speed boost
    when deploying to a large fleet of servers. Refer to the
    [README](https://github.com/capistrano/sshkit/tree/v1.10.0#known-hosts-caching) for
    details. We plan to turn this on by default in a future version of SSHKit.
    [PR #330](capistrano/sshkit#330) @byroot
  * SSHKit now explicitly closes its pooled SSH connections when Ruby exits;
    this fixes `zlib(finalizer): the stream was freed prematurely` warnings
    [PR #343](capistrano/sshkit#343) @mattbrictson
  * Allow command map entries (`SSHKit::CommandMap#[]`) to be Procs
    [PR #310](capistrano/sshkit#310)
    @mikz

## 1.9.0

**Refer to the 1.9.0.rc1 release notes for a full list of new features, fixes,
and potentially breaking changes since SSHKit 1.8.1.** There are no changes
since 1.9.0.rc1.

## 1.9.0.rc1

### Potentially breaking changes

  * The SSHKit DSL is no longer automatically included when you `require` it.
    **This means you  must now explicitly `include SSHKit::DSL`.**
    See [PR #219](capistrano/sshkit#219) for details.
    @beatrichartz
  * `SSHKit::Backend::Printer#test` now always returns true
    [PR #312](capistrano/sshkit#312) @mikz

### New features

  * `SSHKit::Formatter::Abstract` now accepts an optional Hash of options
    [PR #308](capistrano/sshkit#308) @mattbrictson
  * Add `SSHKit::Backend.current` so that Capistrano plugin authors can refactor
    helper methods and still have easy access to the currently-executing Backend
    without having to use global variables.
  * Add `SSHKit.config.default_runner` options that allows to override default command runner.
    This option also accepts a name of the custom runner class.
  * The ConnectionPool has been rewritten in this release to be more efficient
    and have a cleaner internal API. You can still completely disable the pool
    by setting `SSHKit::Backend::Netssh.pool.idle_timeout = 0`.
    @mattbrictson @byroot [PR #328](capistrano/sshkit#328)

### Bug fixes

  * make sure working directory for commands is properly cleared after `within` blocks
    [PR #307](capistrano/sshkit#307)
    @steved
  * display more accurate string for commands with spaces being output in `Formatter::Pretty`
    [PR #304](capistrano/sshkit#304)
    @steved
    [PR #319](capistrano/sshkit#319) @mattbrictson
  * Fix a race condition experienced in JRuby that could cause multi-server
    deploys to fail. [PR #322](capistrano/sshkit#322)
    @mattbrictson
jperkin pushed a commit that referenced this issue Oct 22, 2016
kramdown 1.12.0 released		Published on Monday, 15 August 2016

This release features two enhancements for definition lists:

1. IALs can now be applied to definition terms:

	{:.classy} term
	: and its definition

2. IDs for definition terms can now be created automatically (similar to
   header IDs) and optionally assigned a prefix:

	{:auto_ids}
	term1
	: definition

	term2
	: definition

	^

	{:auto_ids-prefix}
	term1
	: definition

	term2
	: definition

   Furthermore, compatibility of the GFM parser has been improved in regards
   to list/blockquotes/codeblocks that are used directly after a paragraph
   (i.e. without a blank line).

Changes

* 4 minor change:

  - Allow using an IAL for definition terms (<dt>) as is already possible with
    definitions themselves (<dd>)
  - Added automatic generation of IDs (with optional prefix) for terms of
    definition lists (fixes #355, requested by Greg Wilson)
  - Removed obfuscation for e-mail links (fixes #343, requested by Anton
    Tsyganenko)
  - New option ¡Ægfm_quirks¡Ç for enabling/disabling parsing differences of
    the GFM parser with respect to the kramdown parser

* 4 bug fixes:

  - Added support for HTML5 element <main> (fixes #334, reported by
    Jean-Michel Lacroix)
  - Fixed math element output for HTML converter when no math engine is set
    (fixes #342, reported by Adrian Sampson)
  - Fixed problem when using custom HTML formatter for syntax highlighter
    rouge (fixes #356, patch by Alexey Vasiliev)
  - Better compatibility with GFM when lists/blockquotes/codeblocks are used
    directly after a paragraph (fixes #336 (reported by Shuanglei Tao), #359
    (reported by Matti Schneider) via the patch #358 by Shuanglei Tao)

* 3 other fixes and enhancements:

  - Added some more examples for how list indentation works (fixes #353,
    requested by Robbert Brak)
  - Using RbConfig instead of deprecated Config for determining data directory
    (fixes #345, patch by C�«±dric Boutillier)
  - JRuby is now also tested via TravisCI (fixes #363, patch by Shuanglei Tao)

kramdown 1.11.1 released		Published on Sunday, 01 May 2016

This release fixes an emphasis parsing regression introduced in the last
version.

Changes

* 1 bug fix:

  - Fixed emphasis parsing regression (fixes #333, reported by Marcus
    Stollsteimer)

kramdown 1.11.0 released		Published on Sunday, 01 May 2016

This release fixes some bugs and includes one minor change in regards to HTML
syntax highlighting.

Changes

* 1 minor change:

  - The syntax highlighting language is now always included in the output as
    class name even if a syntax highlighter is used (fixes #328, requested by
    SLaks)

* 3 bug fixes:

  - Fixed the GFM fenced code block parser to correctly split a provided
    highlighter name into language name and options parts
  - Fixed problem with underscores being processed even if inside a word
    (fixes #323, reported by Haruki Kirigaya)
  - Fixed HTML/XML parser to correctly, case sensitively parse XML (fixes
    #310, reported by cabo)

* 2 other fixes:

  - Updated copyright year (fixes #331, reported by Oscar Bj�«Órkman)
  - Updated supported Ruby version on installation page (reported by cabo)
jperkin pushed a commit that referenced this issue Feb 1, 2017
Release 0.3.0 of Streamlink!

A lot of updates to each plugin (thank you @beardypig !), automated Windows releases, PEP8 formatting throughout Streamlink are some of the few updates to this release as we near a stable 1.0.0 release.

Main features are:

    Lot's of maintaining / updates to plugins
    General bug and doc fixes
    Major improvements to development (github issue templates, automatically created releases)

Agustín Carrasco <asermax@gmail.com> (1):
      Links on crunchy's rss no longer contain the show name in the url (#379)

Brainzyy <Brainzyy@users.noreply.github.com> (1):
      Add basic tests for stream.me plugin (#391)

Javier Cantero <jcantero@escomposlinux.org> (2):
      plugins/twitch: use version v3 of the API
      plugins/twitch: use kraken URL

John Smith <v2.0@protonmail.com> (3):
      Added support for bongacams.com streams (#329)
      streamlink_cli.main: close stream_fd on exit (#427)
      streamlink_cli.utils.progress: write new line at finish (#442)

Max Riegler <rinukkusu@sub-r.de> (1):
      plugins.chaturbate: new regex (#457)

Michiel Sikma <michiel@wedemandhtml.com> (1):
      Update PLAYER_VERSION, as old one does not return data. Add ability to use streams with /embed/video in the URL, from embedded players. (#311)

Mohamed El Morabity <melmorabity@users.noreply.github.com> (6):
      Add support for pluzz.francetv.fr (#343)
      Fix ArteTV plugin (#385)
      Add support for Canal+ TV group channels (#416)
      Update installation instructions for Fedora (#443)
      Add support for Play TV (#439)
      Use token generator for HLS streams, as for HDS ones (#466)

RosadinTV <rosadintv@outlook.com> (1):
      --can-handle-url-no-redirect parameter added (#333)

Stefan Hanreich <stefanhani@gmail.com> (1):
      added chocolatey to the documentation (#380)

bastimeyer <mail@bastimeyer.de> (3):
      Automatically create Github releases
      Set changelog in automated github releases
      Add a github issue template

beardypig <beardypig@users.noreply.github.com> (55):
      plugins.tvcatchup: site layout changed, updated the stream regex to accommodate the change (#338)
      plugins.streamlive: streamlive.to have added some extra protection to their streams which currently prevents us from capturing them (#339)
      cli: add command line option to specific logging path for subprocess errorlog
      plugins.trtspor: added support for trtspor.com (#349)
      plugins.kanal7: fixed page change in kanal7 live stream (#348)
      plugins.picarto: Remove the unreliable rtmp stream (#353)
      packaging: removed the built in backports infavour of including them as dependencies when required (#355)
      Boost the test coverage a bit (#362)
      plugins: all regex string should be raw (#361)
      ci: build and test on Python 3.6 (+3.7 on travis, with allowed failure) (#360)
      packages.flashmedia: fix bug in AMFMessage (#359)
      tests: use mock from unittest when available otherwise fallback to mock (#358)
      stream.hls: try to retry stream segments (#357)
      tests: add codecov config file (#363)
      plugins.picarto: updated plugin to use tech_switch divs to find the stream parameters
      plugins.mitele: support for live streams on mitele.es
      docs: add a note about python-devel needing to be installed in some cases
      docs/release: generate the changelog as rst instead of md
      plugins.adultswim: support https urls
      use iso 8601 date format for the changelog
      plugins.tf1: added plugin to support tf1.fr and lci.fr
      plugins.raiplay: added plugin to support raiplay.it
      plugins.vaughnlive: updated player version and info URL (#383)
      plugins.tv8cat: added support for tv8.cat live stream (#390)
      Fix TF1.fr plugin (#389)
      plugins.stream: fix a default scheme handling for urls
      Add support for some Bulgarian live streams (#392)
      rtmp: fix bug in redirect for rtmp streams
      plugins.sportal: added support for the live stream on sportal.bg
      plugins.bnt: update the user agent string for the http requests
      plugins.ssh101: update to support new site layout
      Optionally use FFMPEG to mux separate video and audio streams (#224)
      Support for 4K videos in YouTube (#225)
      windows-installer: add the version info to the installer file
      include CHANGELOG.rst instead of .md in the egg
      stream.hls: output duplicate streams for HLS when multiple streams of the same quality are available
      stream.ffmpegmux: fix support for avconv, avconv will be used if ffmpeg is not found
      Adultswin VOD support (#406)
      Move streamlink_cli.utils.named_pipe in to streamlink.utils
      plugins.rtve: update plugin to support new streaming method
      stream.hds: omit HDS streams that are protected by DRM
      Adultswin VOD fix for live show replays (#418)
      plugins.rtve: add support for legacy stream URLs
      installer: remove the streamlink bin dir from %PATH% before installing
      plugins.twitch: only check hosted channels when playing a live stream
      docs: tweaks to docs and docs build process
      Fix iframe detection for BTN/cdn.bg streams (#437)
      fix some regex that give deprecation warnings in python 3.6
      plugins.adultswim: correct behaviour for archived streams
      plugins.nineanime: add scheme to grabber api url if not present
      session: add an option to disable Diffie Hellman key exchange
      plugins.srgssr: added support for srg ssr sites: srf, rts and rsi
      plugins.srgssr: fixed bug in api URL and fixed akamai urls with authparams
      cli: try to terminate the player process before killing it (if terminate takes too long)
      plugins.swisstxt: add support for the SRG SSR sites sports sections

fozzy <fozzysec@gmail.com> (1):
      Add plugin for huajiao.com and zhanqi.tv (#334)

sqrt2 <sqrt2@users.noreply.github.com> (1):
      Fix swf_url in livestream.com plugin (#428)

stepshal <nessento@openmailbox.org> (1):
      Remove trailing.

stepshal <stepshal@users.noreply.github.com> (2):
      Add blank line after class or function definition (#408)
      PEP8 (#414)
jperkin pushed a commit that referenced this issue Mar 6, 2017
What's new in psycopg 2.7
-------------------------

New features:

- Added `~psycopg2.sql` module to generate SQL dynamically (:ticket:`#308`).
- Added :ref:`replication-support` (🎫`#322`). Main authors are
  Oleksandr Shulgin and Craig Ringer, who deserve a huge thank you.
- Added `~psycopg2.extensions.parse_dsn()` and
  `~psycopg2.extensions.make_dsn()` functions (:tickets:`#321, #363`).
  `~psycopg2.connect()` now can take both *dsn* and keyword arguments, merging
  them together.
- Added `~psycopg2.__libpq_version__` and
  `~psycopg2.extensions.libpq_version()` to inspect the version of the
  ``libpq`` library the module was compiled/loaded with
  (:tickets:`#35, #323`).
- The attributes `~connection.notices` and `~connection.notifies` can be
  customized replacing them with any object exposing an `!append()` method
  (:ticket:`#326`).
- Adapt network types to `ipaddress` objects when available. When not
  enabled, convert arrays of network types to lists by default. The old `!Inet`
  adapter is deprecated (:tickets:`#317, #343, #387`).
- Added `~psycopg2.extensions.quote_ident()` function (:ticket:`#359`).
- Added `~connection.get_dsn_parameters()` connection method (:ticket:`#364`).
- `~cursor.callproc()` now accepts a dictionary of parameters (:ticket:`#381`).
- Give precedence to `!__conform__()` over superclasses to choose an object
  adapter (:ticket:`#456`).
- Using Python C API decoding functions and codecs caching for faster
  unicode encoding/decoding (:ticket:`#473`).
- `~cursor.executemany()` slowness addressed by
  `~psycopg2.extras.execute_batch()` and `~psycopg2.extras.execute_values()`
  (:ticket:`#491`).
- Added ``async_`` as an alias for ``async`` to support Python 3.7 where
  ``async`` will become a keyword (:ticket:`#495`).
- Unless in autocommit, do not use :sql:`default_transaction_*` settings to
  control the session characteristics as it may create problems with external
  connection pools such as pgbouncer; use :sql:`BEGIN` options instead
  (🎫`#503`).
- `~connection.isolation_level` is now writable and entirely separated from
  `~connection.autocommit`; added `~connection.readonly`,
  `~connection.deferrable` writable attributes.

Bug fixes:

- Fixed error caused by missing decoding `~psycopg2.extras.LoggingConnection`
  (:ticket:`#483`).
- Fixed integer overflow in :sql:`interval` seconds (🎫`#512`).

Other changes:

- Dropped support for Python 2.5 and 3.1.
- Dropped support for client library older than PostgreSQL 9.1 (but older
  server versions are still supported).
- `~connection.isolation_level` doesn't read from the database but will return
  `~psycopg2.extensions.ISOLATION_LEVEL_DEFAULT` if no value was set on the
  connection.
- Empty arrays no more converted into lists if they don't have a type attached
  (:ticket:`#506`)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants