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

coturn has hardcoded Sun Studio flags for Solaris #99

Open
mrferda opened this issue Sep 2, 2018 · 3 comments
Open

coturn has hardcoded Sun Studio flags for Solaris #99

mrferda opened this issue Sep 2, 2018 · 3 comments

Comments

@mrferda
Copy link

mrferda commented Sep 2, 2018

remove_sun_studio_dep.patch.txt

Not sure if pkgsrc is intended to be built with the Studio compiler aswell, in that case the compiler version should be checked in the configure script.

@jclulow
Copy link

jclulow commented Sep 2, 2018

Looking at the patch you've attached, it's not clear that these are related to the Studio compiler at all:

--- configure.bac       2018-09-02 10:07:33.856657900 +0200
+++ configure   2018-09-02 10:11:48.560635900 +0200
@@ -610,19 +610,6 @@
     fi
 fi
 
-#############################
-# Adjustments for Solaris
-#############################
-
-SYSTEM=`uname`
-
-if [ "${SYSTEM}" = "SunOS" ] ; then
-# Solaris ? is this you ?!
-    OSCFLAGS="${OSCFLAGS} -D__EXTENSIONS__ -D_XOPEN_SOURCE=500 -DTURN_NO_GETDOMAINNAME"
-    OSLIBS="${OSLIBS} -lnsl"
-    TURN_NO_SCTP=1
-fi
-
 #########################
 # Temporary DIR location:
 #########################

Looking at standards(5), we see:

...
   X/Open CAE
       To build or compile an application that conforms to one of the X/Open CAE
       specifications, use the following guidelines. Applications need not set
       the POSIX feature test macros if they require both CAE and POSIX
       functionality.
...
       SUSv2
                       The application must define _XOPEN_SOURCE=500.

This suggests the application is expecting to use C functions as available in Single UNIX Specification, Version 2 (SUSv2). In addition, it's probably using functions that aren't strictly in that specification, thus:

   Feature Test Macros
...
       If an application uses only those interfaces and headers
       defined by a particular standard (such as POSIX or X/Open CAE),  then
       it need only define the appropriate feature test macro specified by
       that standard. If the application is using interfaces and headers not
       defined by that standard, then in addition to defining the appropriate
       standard feature test macro, it must also define __EXTENSIONS__.
       Defining __EXTENSIONS__ provides the application with access to all
       interfaces and headers not in conflict with the specified standard. The
       application must define __EXTENSIONS__ either on the compile command
       line or within the application source files.

Finally, there are probably some needed routines that are in libnsl(3LIB), hence the -lnsl. Some of the routines in the illumos libnsl have been provided directly by libc on other platforms.

I'm not sure what TURN_NO_SCTP does, or TURN_NO_GETDOMAINNAME, but those seem more application-specific rather than Studio-specific.

@jperkin
Copy link
Collaborator

jperkin commented Sep 3, 2018

We will need something along these lines. Nowadays with compilers that default to C99 you cannot explicitly use -D_XOPEN_SOURCE=500.

@mrferda
Copy link
Author

mrferda commented Oct 4, 2018

Would it be reasonable to assume it safe to leave out -D_XOPEN_SOURCE=500 with current gcc?
I didn’t see any ifdef-ed SunOS code and the other OSs don’t specify additional flags.

jperkin pushed a commit that referenced this issue Sep 28, 2020
July 21st, 2020

CHANGES:

* audit: Token TTL and issue time are now provided in the auth portion of
  audit logs. [GH-9091]
* auth/gcp: Changes the default name of the entity alias that gets created
  to be the role ID for both IAM and GCE authentication. [GH-99]
* core: Remove the addition of newlines to parsed configuration when using
  integer/boolean values [GH-8928]
* cubbyhole: Reject reads and writes to an empty ("") path. [GH-8971]
* storage/gcs: The credentials_file config option has been removed. The
  GOOGLE_APPLICATION_CREDENTIALS environment variable or default
  credentials may be used instead [GH-9424]
* storage/raft: The storage configuration now accepts a new max_entry_size
  config that will limit the total size in bytes of any entry committed via
  raft. It defaults to "1048576" (1MiB). [GH-9027]
* token: Token creation with custom token ID via id will no longer allow
  periods (.) as part of the input string. The final generated token value
  may contain periods, such as the s. prefix for service token
  indication. [GH-8646]
* token: Token renewals will now return token policies within the
  token_policies , identity policies within identity_policies, and the full
  policy set within policies. [GH-8535]

FEATURES:

* Monitoring: We have released a Splunk App [9] for Enterprise
  customers. The app is accompanied by an updated monitoring guide and a
  few new metrics to enable OSS users to effectively monitor Vault.
* Password Policies: Allows operators to customize how passwords are
  generated for select secret engines (OpenLDAP, Active Directory, Azure,
  and RabbitMQ).
* Replication UI Improvements: We have redesigned the replication UI to
  highlight the state and relationship between primaries and secondaries
  and improved management workflows, enabling a more holistic understanding
  of multiple Vault clusters.
* Resource Quotas: As of 1.5, Vault supports specifying a quota to rate
  limit requests on OSS and Enterprise. Enterprise customers also have
  access to set quotas on the number of leases that can be generated on a
  path.
* OpenShift Support: We have updated the Helm charts to allow users to
  install Vault onto their OpenShift clusters.
* Seal Migration: We have made updates to allow migrations from auto unseal
  to Shamir unseal on Enterprise.
* AWS Auth Web Identity Support: We've added support for AWS Web
  Identities, which will be used in the credentials chain if present.
* Vault Monitor: Similar to the monitor command for Consul and Nomad, we
  have added the ability for Vault to stream logs from other Vault servers
  at varying log levels.
* AWS Secrets Groups Support: IAM users generated by Vault may now be added
  to IAM Groups.
* Integrated Storage as HA Storage: In Vault 1.5, it is possible to use
  Integrated Storage as HA Storage with a different storage backend as
  regular storage.
* OIDC Auth Provider Extensions: We've added support to OIDC Auth to
  incorporate IdP-specific extensions. Currently this includes expanded
  Azure AD groups support.
* GCP Secrets: Support BigQuery dataset ACLs in absence of IAM endpoints.

IMPROVEMENTS:

* audit: Replication status requests are no longer audited. [GH-8877]
* audit: Added mount_type field to requests and responses. [GH-9167]
* auth/aws: Add support for Web Identity credentials [GH-7738]
* auth/jwt: Support users that are members of more than 200 groups on Azure
  [GH-120]
* auth/kerberos: Support identities without userPrincipalName [GH-44]
* auth/kubernetes: Allow disabling iss validation [GH-91]
* auth/kubernetes: Try reading the ca.crt and TokenReviewer JWT from the
  default service account [GH-83]
* cli: Support reading TLS parameters from file for the vault operator raft
  join command. [GH-9060]
* cli: Add a new subcommand, vault monitor, for tailing server logs in the
  console. [GH-8477]
* core: Add the Go version used to build a Vault binary to the server
  message output. [GH-9078]
* core: Added Password Policies for user-configurable password generation
  [GH-8637]
* core: New telemetry metrics covering token counts, token creation, KV
  secret counts, lease creation. [GH-9239] [GH-9250] [GH-9244] [GH-9052]
* physical/gcs: The storage backend now uses a dedicated client for HA lock
  updates to prevent lock table update failures when flooded by other
  client requests. [GH-9424]
* physical/spanner: The storage backend now uses a dedicated client for HA
  lock updates to prevent lock table update failures when flooded by other
  client requests. [GH-9423]
* plugin: Add SDK method, Sys.ReloadPlugin, and CLI command, vault plugin
  reload, for reloading plugins. [GH-8777]
* plugin (enterprise): Add a scope field to plugin reload, which when
  global, reloads the plugin anywhere in a cluster. [GH-9347]
* sdk/framework: Support accepting TypeFloat parameters over the API
  [GH-8923]
* secrets/aws: Add iam_groups parameter to role create/update [GH-8811]
* secrets/database: Add static role rotation for MongoDB Atlas database
  plugin [GH-11]
* secrets/database: Add static role rotation for MSSQL database plugin
  [GH-9062]
* secrets/database: Allow InfluxDB to use insecure TLS without cert bundle
  [GH-8778]
* secrets/gcp: Support BigQuery dataset ACLs in absence of IAM endpoints
  [GH-78]
* secrets/pki: Allow 3072-bit RSA keys [GH-8343]
* secrets/ssh: Add a CA-mode role option to specify signing algorithm
  [GH-9096]
* secrets/ssh: The Vault SSH Helper can now be configured to reference a
  mount in a namespace [GH-44]
* secrets/transit: Transit requests that make use of keys now include a new
  field key_version in their responses [GH-9100]
* secrets/transit: Improving transit batch encrypt and decrypt latencies
  [GH-8775]
* sentinel: Add a sentinel config section, and
  "additional_enabled_modules", a list of Sentinel modules that may be
  imported in addition to the defaults.
* ui: Update TTL picker styling on SSH secret engine [GH-8891]
* ui: Only render the JWT input field of the Vault login form on mounts
  configured for JWT auth [GH-8952]
* ui: Add replication dashboards. Improve replication management
  workflows. [GH-8705].
* ui: Update alert banners to match design systems black text. [GH-9463].

BUG FIXES:

* auth/oci: Fix issue where users of the Oracle Cloud Infrastructure (OCI)
  auth method could not authenticate when the plugin backend was mounted at
  a non-default path. [GH-7]
* core: Extend replicated cubbyhole fix in 1.4.0 to cover case where a
  performance primary is also a DR primary [GH-9148]
* seal/awskms: fix AWS KMS auto-unseal when AWS_ROLE_SESSION_NAME not set
  [GH-9416]
* sentinel: fix panic due to concurrent map access when rules iterate over
  metadata maps
* secrets/aws: Fix issue where performance standbys weren't able to
  generate STS credentials after an IAM access key rotation in AWS and root
  IAM credential update in Vault [GH-9186]
* secrets/database: Fix issue where rotating root database credentials
  while Vault's storage backend is unavailable causes Vault to lose access
  to the database [GH-8782]
* secrets/database: Fix issue that prevents performance standbys from
  connecting to databases after a root credential rotation [GH-9129]
* secrets/gcp: Fix issue were updates were not being applied to the
  token_scopes of a roleset. [GH-90]
* secrets/kv: Return the value of delete_version_after when reading
  kv/config, even if it is set to the default. [GH-42]
* ui: Add Toggle component into core addon so it is available in KMIP and
  other Ember Engines.[GH-8913]
* ui: Disallow max versions value of large than 9999999999999999 on kv2
  secrets engine. [GH-9242]
* ui: Add and upgrade missing dependencies to resolve a failure with make
  static-dist. [GH-9277]
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