~goetzpf/+git/epics-ip-ignore-as-IPAG-patches_base_7:7.0

Last commit made on 2019-12-06
Get this branch:
git clone -b 7.0 https://git.launchpad.net/~goetzpf/+git/epics-ip-ignore-as-IPAG-patches_base_7
Only Goetz Pfeiffer can upload to this branch. If you are Goetz Pfeiffer please log in for upload directions.

Branch merges

Branch information

Recent commits

86f7d09... by Goetz Pfeiffer <email address hidden>

Access security now supports IP address access groups (IPAG).

Up to now, channel access security allowed to specify access rules for clients
based on user- and host names.

This patch adds IP access groups. Now access rules may contain the client's IP
address too. The IP access group, "IPAG", can be used together with host access
groups, "HAG" or can replace these.

Notes for software that uses EPICS base:

This patch changes the API of the EPICS base channel access security library.
Users of the library must now provide the IP address of a client.

The following functions declared in asLib.h now have an additional parameter:

  asAddClient
  asChangeClient

In order to be able to write programs that support versions of EPICS base with
and without this patch, a new C macro is defined in file epicsVersion.h:

  #define EPICS_HAS_AS_IPAG 1

5662224... by Goetz Pfeiffer <email address hidden>

EPICS_CA_IGNORE_NET_LIST lets clients ignore servers from whole subnets.

An EPICS channel access client will ignore server replies from IP addresses
that are from one of the IP subnets specified in EPICS_CA_IGNORE_NET_LIST.

The subnet specifications in EPICS_CA_IGNORE_NET_LIST must be separated with
spaces.

Three forms of subnet specifications are supported:

- CIDR notation, example: 192.168.12.0/24
- Address and mask notation, example: 192.168.12.0:255.255.255.0
- Single IP address, example: 192.168.12.10

Notes for software that uses EPICS base:

This patch changes the adds a new private element to class udpiiu defined in
udpiiu.h. It shouldn't be necessary to change the source code of applications
that are compiled against EPICS base, but they need to be recompiled.

In order to be able to detect if this patch is part of the currently used EPICS
base, a new C macro is defined in file epicsVersion.h:

  #define EPICS_HAS_CA_IGNORE_NET_LIST 1

292f11e... by Goetz Pfeiffer <email address hidden>

EPICS_CAS_IGNORE_NET_LIST lets servers ignore requests from whole subnets.

An EPICS channel access server will ignore requests from IP addresses that are
from one of the IP subnets specified in EPICS_CAS_IGNORE_NET_LIST.

The subnet specifications in EPICS_CAS_IGNORE_NET_LIST must be separated with
spaces.

Three forms of subnet specifications are supported:

- CIDR notation, example: 192.168.12.0/24
- Address and mask notation, example: 192.168.12.0:255.255.255.0
- Single IP address, example: 192.168.12.10

Notes for software that uses EPICS base:

The portable channel access server (PCAS) is a project now separated from EPICS
base. In order for PCAS to support EPICS_HAS_CAS_IGNORE_NET_LIST, you have to
use the version of PCAS that implements this feature, too.

In order to be able to detect if this patch is part of the currently used EPICS
base, a new C macro is defined in file epicsVersion.h:

  #define EPICS_HAS_CAS_IGNORE_NET_LIST 1

f6d8a1a... by Andrew Johnson

Sort DIRECTORY_TARGETs to de-duplicate, avoids make warning

3450c9d... by mdavidsaver

softIoc use correct path sep

a7cb952... by mdavidsaver

softIoc re-add -D

90ef40e... by mdavidsaver

iocshFindVariable() safety

1290ab7... by mdavidsaver

dbInitEntry() w/o matching dbFinishEntry()

37ed770... by Andrew Johnson

Fix release headers in Release Notes

578608b... by Andrew Johnson

Merge changes from 3.15 branch into 7.0