LINUX下的安装声卡等操作和技巧介绍

源代码在线查看: unix环境下mail系统的简单扩容(二).txt

软件大小: 735 K
上传用户: my99ab1
关键词: LINUX 声卡 操作
下载地址: 免注册下载 普通下载 VIP

相关代码

				作者:eazily
				日期:2000-12-12 13:25:54
				unix环境下mail系统的简单扩容(二)
				
				--------------------------------------------------------------------------------
				 
				cpu 2000-12-06 17:00:43 
				
				
				既然拿到了source就免不了要看一下哪些地方需要修改。
				
				先大概讲一下怎么修改sendmail。sendmail通过/etc/passwd文件来查找用户
				名,所以相关的函数很容易猜出来:getpwnam就是了。
				
				sendmail的原码在src子目录下面,简单地用grep getpwnam *.c|more看一下
				调用了getpwnam的模块,把各段原码大致分析一下发现有一个另外定义的取
				用户函数sm_getpwnam,函数实现在conf.c里面:
				
				
				struct passwd *
				sm_getpwnam(user)
				char *user;
				{
				#ifdef _AIX4
				extern struct passwd *_getpwnam_shadow(const char *, const int);
				
				return _getpwnam_shadow(user, 0);
				#else
				return getpwnam(user);
				#endif
				}
				
				就是这段东东了,sm_getpwnam是标准函数getpwnam的一个wrapper函数,也就是
				sendmail的取用户信息函数,当有smtp客户连进来发rcpt to: xxuser的时候
				sendmail就是会去调用sm_getpwnam("xxxuser")来验证有没这个用户.
				
				好了明白了,你现在就可以把conf.c里的sm_getpwnam改成自己所需要的样子:
				比如查数据库,或者查内存中的用户表,或者向另外一个独立的用户信息服务引
				擎发请求取得用户信息。。。
				
				光改了src目录下的sm_getpwnam还不行,src只是sendmail的原码部分,父目录
				下还有一个子目录叫mail.local,干什么用的一看名字就明白了,就是本地的
				邮递员,sendmail收信后把信件交给邮递员来投递,邮递员程序也涉及到取用
				户信息的操作,到mail.local下面grep getpwnam *就知道了。主要改mail.local.c
				里面的diliver函数。
				
				最后提一下改pop3,非常简单,有一个util.c,里面有个verify_user函数,该
				函数调用了getpwnam和getspnam函数来取得用户信息和对用户进行认证,改了它
				就完事了。
				
				 
							

相关资源