svn commit: r306651 - in head: include lib/libc/gen
Ed Schouten
ed at FreeBSD.org
Mon Oct 3 18:20:59 UTC 2016
Author: ed
Date: Mon Oct 3 18:20:58 2016
New Revision: 306651
URL: https://svnweb.freebsd.org/changeset/base/306651
Log:
Remove setkey(), encrypt(), des_setkey() and des_cipher().
The setkey() and encrypt() functions are part of XSI, not the POSIX base
definitions. There is no strict requirement for us to provide these,
especially if we're only going to keep these around as undocumented
stubs. The same holds for des_setkey() and des_cipher().
Instead of providing functions that only generate warnings when linking,
simply disallow linking against them. The impact of this is relatively
low. It only causes two leaf ports to break. I'll see what I can do to
help out to get those fixed.
PR: 211626
Modified:
head/include/stdlib.h
head/include/unistd.h
head/lib/libc/gen/Symbol.map
head/lib/libc/gen/crypt.c
Modified: head/include/stdlib.h
==============================================================================
--- head/include/stdlib.h Mon Oct 3 18:00:10 2016 (r306650)
+++ head/include/stdlib.h Mon Oct 3 18:20:58 2016 (r306651)
@@ -221,10 +221,6 @@ int putenv(char *);
long random(void);
unsigned short
*seed48(unsigned short[3]);
-#ifndef _SETKEY_DECLARED
-int setkey(const char *);
-#define _SETKEY_DECLARED
-#endif
char *setstate(/* const */ char *);
void srand48(long);
void srandom(unsigned int);
Modified: head/include/unistd.h
==============================================================================
--- head/include/unistd.h Mon Oct 3 18:00:10 2016 (r306650)
+++ head/include/unistd.h Mon Oct 3 18:20:58 2016 (r306651)
@@ -449,8 +449,6 @@ int symlink(const char * __restrict, co
/* X/Open System Interfaces */
#if __XSI_VISIBLE
char *crypt(const char *, const char *);
-/* char *ctermid(char *); */ /* XXX ??? */
-int encrypt(char *, int);
long gethostid(void);
int lockf(int, int, off_t);
int nice(int);
@@ -498,8 +496,6 @@ const char *
crypt_get_format(void);
char *crypt_r(const char *, const char *, struct crypt_data *);
int crypt_set_format(const char *);
-int des_cipher(const char *, char *, long, int);
-int des_setkey(const char *key);
int dup3(int, int, int);
int eaccess(const char *, int);
void endusershell(void);
@@ -567,10 +563,6 @@ int setdomainname(const char *, int);
int setgroups(int, const gid_t *);
void sethostid(long);
int sethostname(const char *, int);
-#ifndef _SETKEY_DECLARED
-int setkey(const char *);
-#define _SETKEY_DECLARED
-#endif
int setlogin(const char *);
int setloginclass(const char *);
void *setmode(const char *);
Modified: head/lib/libc/gen/Symbol.map
==============================================================================
--- head/lib/libc/gen/Symbol.map Mon Oct 3 18:00:10 2016 (r306650)
+++ head/lib/libc/gen/Symbol.map Mon Oct 3 18:20:58 2016 (r306651)
@@ -73,10 +73,6 @@ FBSD_1.0 {
clock;
closedir;
confstr;
- encrypt;
- des_setkey;
- des_cipher;
- setkey;
ctermid;
ctermid_r;
daemon;
Modified: head/lib/libc/gen/crypt.c
==============================================================================
--- head/lib/libc/gen/crypt.c Mon Oct 3 18:00:10 2016 (r306650)
+++ head/lib/libc/gen/crypt.c Mon Oct 3 18:20:58 2016 (r306651)
@@ -48,47 +48,41 @@ __FBSDID("$FreeBSD$");
* encryption, make sure you've got libcrypt.a around.
*/
-__warn_references(des_setkey,
- "WARNING! des_setkey(3) not present in the system!");
-
/* ARGSUSED */
int
-des_setkey(const char *key __unused)
+__freebsd11_des_setkey(const char *key __unused)
{
fprintf(stderr, "WARNING! des_setkey(3) not present in the system!\n");
return (0);
}
-__warn_references(des_cipher,
- "WARNING! des_cipher(3) not present in the system!");
-
/* ARGSUSED */
int
-des_cipher(const char *in, char *out, long salt __unused, int num_iter __unused)
+__freebsd11_des_cipher(const char *in, char *out, long salt __unused,
+ int num_iter __unused)
{
fprintf(stderr, "WARNING! des_cipher(3) not present in the system!\n");
bcopy(in, out, 8);
return (0);
}
-__warn_references(setkey,
- "WARNING! setkey(3) not present in the system!");
-
/* ARGSUSED */
int
-setkey(const char *key __unused)
+__freebsd11_setkey(const char *key __unused)
{
fprintf(stderr, "WARNING! setkey(3) not present in the system!\n");
return (0);
}
-__warn_references(encrypt,
- "WARNING! encrypt(3) not present in the system!");
-
/* ARGSUSED */
int
-encrypt(char *block __unused, int flag __unused)
+__freebsd11_encrypt(char *block __unused, int flag __unused)
{
fprintf(stderr, "WARNING! encrypt(3) not present in the system!\n");
return (0);
}
+
+__sym_compat(des_setkey, __freebsd11_des_setkey, FBSD_1.0);
+__sym_compat(des_cipher, __freebsd11_des_cipher, FBSD_1.0);
+__sym_compat(setkey, __freebsd11_setkey, FBSD_1.0);
+__sym_compat(encrypt, __freebsd11_encrypt, FBSD_1.0);
More information about the svn-src-all
mailing list