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

cyrus-sasl wrong plugin dir configuration #378

Closed
xmerlin opened this issue Apr 9, 2024 · 3 comments
Closed

cyrus-sasl wrong plugin dir configuration #378

xmerlin opened this issue Apr 9, 2024 · 3 comments
Assignees

Comments

@xmerlin
Copy link

xmerlin commented Apr 9, 2024

In your message, you have indicated ${PLUGINDIR} as the default path for plugin modules, but this is incorrect.

Actually, Cyrus-SASL searches for configuration files like smtpd.conf in /opt/local/etc/sasl2/

@jperkin jperkin self-assigned this Apr 23, 2024
@jperkin
Copy link
Collaborator

jperkin commented Apr 23, 2024

I think it's correct, though perhaps the wording could do with some work. For the configuration file it says:

The configuration files for applications using the sasl2 libraries
used to be in ${PLUGINDIR}/, but are now expected in
${PKG_SYSCONFDIR}/. You need to move them after upgrading the pkg.

The modules themselves definitely live in ${PLUGINDIR}, so the other part of the MESSAGE also seems correct:

${PKGNAME} will use the following directory as the default
path to its plugin modules:

        ${PLUGINDIR}

The search path for plugin modules can be customized by setting the
SASL_PATH variable to a colon-delimted list of directories in the shell
environment.

I'm generally against MESSAGE files as they often aren't helpful, and I wonder if this one is causing more problems than it helps, even though it's technically correct.

@xmerlin
Copy link
Author

xmerlin commented Apr 23, 2024

In theory, it is correct; in practice, it gives the user a wrong and misleading indication since the file needs to be written in a different directory.

@jperkin
Copy link
Collaborator

jperkin commented Apr 24, 2024

I've removed the offending text from the MESSAGE file. The cvs->git conversion process is currently having difficulties so I can't link to the change, but it will be in the next trunk build.

@jperkin jperkin closed this as completed Apr 24, 2024
github-actions bot pushed a commit that referenced this issue Oct 21, 2024
# rio 1.2.3

* Fix #453, don't nudge the user to install all suggested packages
* Fix #451, don't nudge the user to report issues about the trust parameter

# rio 1.2.2

* Fix #447 - remove an ancient artefact of Vignette generation, h/t
  Tim Taylor for the help.

# rio 1.2.1

* Roll back the decision to add parquet in the import tier see #455 #315

# rio 1.2.0

* Fix lintr issues #434 (h/t @Bisaloo Hugo Gruson)
* Drop support for R < 4.0.0 see #436
* Add support for parquet in the import tier using `nanoparquet` see
  rio 1.0.1 below.

Bug fixes

* Fix #430 Add back support for `.dat`

# rio 1.1.1

Bug fixes

* Fix #425 for archive formats, the file extension of the input file
  is determined by the compressed file (like prior rio 1.1.0)

# rio 1.1.0

* CRAN release

# rio 1.0.3

* Add `trust` parameter to functions that are used to load various R
  environment formats (`.R`, `.Rds`, `.Rdata`, etc). This parameter is
  defaulted to `TRUE` today to ensure backwards compatibility. A
  deprecation notice warns this will default to `FALSE` in `rio`
  2.0. We are informing users that these data types should only be
  loaded from trusted sources, which should be affirmatively attested
  to.

* Test and fix the compression mechanism: Gzip, Bzip2 are now working as expected.

Bug fixes

- Fix #412, prevent double usage of `which` for archive formats
- Fix #415, both `import_list()` and `export_list()` support tar archives.
- Fix #421, tar export is only supported by R >= 4.0.3.

# rio 1.0.2

* For missing files in `import_list` it gives more informative
  warnings fix #389
* Single-item list of data frames can be exported fix #385
* Move `stringi` to Suggests to reduce compilation time. Add an
  attribution to the internal data to list out all required packages
  #378
* Move `readr` to Imports for `fwf`. `readr` is a dependency of
  `haven` so it does not increase the number of dependencies. Remove
  the original `read.fwf2` which doesn't guess `widths`. Keep the
  `widths` and `col.names` to maintain compatibility. #381
* Add (back) a pkgdown website:
  [https://gesistsa.github.io/rio/](https://gesistsa.github.io/rio/)
* Update all test cases #380
github-actions bot pushed a commit that referenced this issue Nov 3, 2024
# cpp11 0.5.0

## R non-API related changes

* Removed usage of the following R non-API functions:

  * `SETLENGTH()`

  * `SET_TRUELENGTH()`

  * `SET_GROWABLE_BIT()`

  These functions were used as part of the efficient growable vectors that
  cpp11 offered, i.e. what happens under the hood when you use `push_back()`.
  The removal of these non-API functions means that cpp11 writable vectors that
  have been pushed to with `push_back()` will likely force 1 extra allocation
  when the conversion from `cpp11::writable::r_vector<T>` to `SEXP` occurs
  (typically when you return a result back to R). This does not affect the
  performance of `push_back()` itself, and in general these growable vectors
  are still quite efficient (#362).

* The `environment` class no longer uses the non-API function
  `Rf_findVarInFrame3()` (#367).

  * The `exists()` method now uses the new `R_existsVarInFrame()` function.

  * The `SEXP` conversion operator now uses the new `R_getVar()` function. Note
    that this is stricter than `Rf_findVarInFrame3()` in 3 ways. The object
    must exist in the environment (i.e. `R_UnboundValue` is no longer returned),
    the object cannot be `R_MissingArg`, and if the object was a promise, that
    promise is now evaluated. We have backported this new strictness to older
    versions of R as well.

## New features

* `cpp11::writable::r_vector<T>::proxy` now implements copy assignment.
  Practically this means that `x[i] = y[i]` now works when both `x` and `y`
  are writable vectors (#300, #339).

* New `writable::data_frame` constructor that also takes the number of rows as
  input. This accounts for the edge case where the input list has 0 columns but
  you'd still like to specify a known number of rows (#272).

* `std::max_element()` can now be used with writable vectors (#334).

* Read only `r_vector`s now have a move constructor and move assignment
  operator (#365).

## Improvements and fixes

* Repeated assignment to a `cpp11::writable::strings` vector through either
  `x[i] = elt` or `x.push_back(elt)` is now more performant, at the tradeoff
  of slightly less safety (as long as `elt` is actually a `CHARSXP` and `i` is
  within bounds, there is no chance of failure, which are the same kind of
  invariants placed on the other vector types) (#378).

* Constructors for writable vectors from `initializer_list<named_arg>` now
  check that `named_arg` contains a length 1 object of the correct type, and
  throws either a `cpp11::type_error` or `std::length_error` if that is not the
  case (#382).

* `cpp11::package` now errors if given a package name that hasn't been loaded
  yet. Previously it would cause R to hang indefinitely (#317).

* `cpp11::function` now protects its underlying function, for maximum safety
  (#294).

* `cpp11::writable::r_vector<T>::iterator` no longer implicitly deletes its
  copy assignment operator (#360).

* Added the missing implementation for `x.at("name")` for read only vectors
  (#370).

* Fixed an issue with the `writable::matrix` copy constructor where the
  underlying SEXP should have been copied but was not. It is now consistent with
  the behavior of the equivalent `writable::r_vector` copy constructor.

* Fixed a memory leak with the `cpp11::writable::r_vector` move assignment
  operator (#338).

* Fixed an issue where writable vectors were being protected twice (#365).

* The approach for the protection list managed by cpp11 has been tweaked
  slightly. In 0.4.6, we changed to an approach that creates one protection list
  per compilation unit, but we now believe we've found an approach that is
  guaranteed by the C++ standard to create one protection list per package,
  which makes slightly more sense and still has all the benefits of the reduced
  maintanence burden mentioned in the 0.4.6 news bullet (#364).

  A side effect of this new approach is that the `preserved` object exposed
  through `protect.hpp` no longer exists. We don't believe that anyone was using
  this. This also means you should no longer see "unused variable" warnings
  about `preserved` (#249).

## Breaking changes

* R >=3.6.0 is now required. This is in line with (and even goes beyond) the
  tidyverse standard of supporting the previous 5 minor releases of R.

* Implicit conversion from `sexp` to `bool`, `size_t`, and `double` has been
  marked as deprecated and will be removed in the next version of cpp11. The 3
  packages that were using this have been notified and sent PRs. The recommended
  approach is to instead use `cpp11::as_cpp<T>`, which performs type and length
  checking, making it much safer to use.

* Dropped support for gcc 4.8, mainly an issue for extremely old CentOS 7
  systems which used that as their default compiler. As of June 2024, CentOS 7
  is past its vendor end of support date and therefore also out of scope for
  Posit at this time (#359).
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

2 participants