Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
P
pymilter
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Deploy
Releases
Container registry
Model registry
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
GitLab community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
misc
pymilter
Commits
f12bcf9a
Commit
f12bcf9a
authored
16 years ago
by
Stuart Gathman
Browse files
Options
Downloads
Patches
Plain Diff
Support smfi_chgfrom and smfi_addrcpt_par.
parent
394e7c6b
No related branches found
No related tags found
No related merge requests found
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
miltermodule.c
+51
-3
51 additions, 3 deletions
miltermodule.c
pymilter.spec
+3
-1
3 additions, 1 deletion
pymilter.spec
setup.py
+1
-1
1 addition, 1 deletion
setup.py
with
55 additions
and
5 deletions
miltermodule.c
+
51
−
3
View file @
f12bcf9a
...
...
@@ -35,6 +35,9 @@ $ python setup.py help
libraries=["milter","smutil","resolv"]
* $Log$
* Revision 1.11 2007/09/25 02:26:29 customdesigned
* Update license.
*
* Revision 1.10 2006/02/12 02:00:42 customdesigned
* Resolve FIXME for wrap_close.
*
...
...
@@ -339,6 +342,7 @@ static char milter_set_flags__doc__[] =
Set flags for filter capabilities; OR of one or more of:
\n
\
ADDHDRS - filter may add headers
\n
\
CHGBODY - filter may replace body
\n
\
CHGFROM - filter may replace body
\n
\
ADDRCPT - filter may add recipients
\n
\
DELRCPT - filter may delete recipients
\n
\
CHGHDRS - filter may change/delete headers"
;
...
...
@@ -1013,6 +1017,30 @@ milter_addheader(PyObject *self, PyObject *args) {
#endif
}
#ifdef SMFIF_CHGFROM
static
char
milter_chgfrom__doc__
[]
=
"chgfrom(sender,params) -> None
\n
\
Change the envelope sender (MAIL From) of the current message.
\n
\
A filter which calls smfi_chgfrom must have set the CHGFROM flag
\n
\
in set_flags() before calling register.
\n
\
This function can only be called from the EOM callback."
;
static
PyObject
*
milter_chgfrom
(
PyObject
*
self
,
PyObject
*
args
)
{
char
*
sender
;
char
*
params
;
SMFICTX
*
ctx
;
PyThreadState
*
t
;
if
(
!
PyArg_ParseTuple
(
args
,
"sz:chgfrom"
,
&
sender
,
&
params
))
return
NULL
;
ctx
=
_find_context
(
self
);
if
(
ctx
==
NULL
)
return
NULL
;
t
=
PyEval_SaveThread
();
return
_thread_return
(
t
,
smfi_chgfrom
(
ctx
,
sender
,
params
),
"cannot change sender"
);
}
#endif
static
char
milter_chgheader__doc__
[]
=
"chgheader(field, int, value) -> None
\n
\
Change/delete a header in the message.
\n
\
...
...
@@ -1042,22 +1070,33 @@ milter_chgheader(PyObject *self, PyObject *args) {
}
static
char
milter_addrcpt__doc__
[]
=
"addrcpt(string) -> None
\n
\
"addrcpt(string
,params=None
) -> None
\n
\
Add a recipient to the envelope. It must be in the same format
\n
\
as is passed to the envrcpt callback in the first tuple element.
\n
\
If params is used, you must pass ADDRCPT_PAR to set_flags().
\n
\
This function can only be called from the EOM callback."
;
static
PyObject
*
milter_addrcpt
(
PyObject
*
self
,
PyObject
*
args
)
{
char
*
rcpt
;
char
*
params
=
0
;
SMFICTX
*
ctx
;
PyThreadState
*
t
;
int
rc
;
if
(
!
PyArg_ParseTuple
(
args
,
"s:addrcpt"
,
&
rcpt
))
return
NULL
;
if
(
!
PyArg_ParseTuple
(
args
,
"s
|z
:addrcpt"
,
&
rcpt
))
return
NULL
;
ctx
=
_find_context
(
self
);
if
(
ctx
==
NULL
)
return
NULL
;
t
=
PyEval_SaveThread
();
return
_thread_return
(
t
,
smfi_addrcpt
(
ctx
,
rcpt
),
"cannot add recipient"
);
if
(
params
)
#ifdef SMFIF_ADDRCPT_PAR
rc
=
smfi_addrcpt_par
(
ctx
,
rcpt
,
params
);
#else
rc
=
MI_FAILURE
;
#endif
else
rc
=
smfi_addrcpt
(
ctx
,
rcpt
);
return
_thread_return
(
t
,
rc
,
"cannot add recipient"
);
}
static
char
milter_delrcpt__doc__
[]
=
...
...
@@ -1198,6 +1237,9 @@ static PyMethodDef context_methods[] = {
#endif
#ifdef SMFIR_PROGRESS
{
"progress"
,
milter_progress
,
METH_VARARGS
,
milter_progress__doc__
},
#endif
#ifdef SMFIF_CHGFROM
{
"chgfrom"
,
milter_chgfrom
,
METH_VARARGS
,
milter_chgfrom__doc__
},
#endif
{
NULL
,
NULL
}
};
...
...
@@ -1299,6 +1341,9 @@ initmilter(void) {
setitem
(
d
,
"CHGBODY"
,
SMFIF_CHGBODY
);
setitem
(
d
,
"MODBODY"
,
SMFIF_MODBODY
);
setitem
(
d
,
"ADDRCPT"
,
SMFIF_ADDRCPT
);
#ifdef SMFIF_ADDRCPT_PAR
setitem
(
d
,
"ADDRCPT_PAR"
,
SMFIF_ADDRCPT_PAR
);
#endif
setitem
(
d
,
"DELRCPT"
,
SMFIF_DELRCPT
);
setitem
(
d
,
"CHGHDRS"
,
SMFIF_CHGHDRS
);
setitem
(
d
,
"V1_ACTS"
,
SMFI_V1_ACTS
);
...
...
@@ -1306,6 +1351,9 @@ initmilter(void) {
setitem
(
d
,
"CURR_ACTS"
,
SMFI_CURR_ACTS
);
#ifdef SMFIF_QUARANTINE
setitem
(
d
,
"QUARANTINE"
,
SMFIF_QUARANTINE
);
#endif
#ifdef SMFIF_CHGFROM
setitem
(
d
,
"CHGFROM"
,
SMFIF_CHGFROM
);
#endif
setitem
(
d
,
"CONTINUE"
,
SMFIS_CONTINUE
);
setitem
(
d
,
"REJECT"
,
SMFIS_REJECT
);
...
...
This diff is collapsed.
Click to expand it.
pymilter.spec
+
3
−
1
View file @
f12bcf9a
...
...
@@ -3,7 +3,7 @@
# rpmbuild -ba --target=i386,noarch pymilter.spec
%define __python python2.4
%define version 0.8.1
1
%define version 0.8.1
2
%define release 1%{?dist}.py24
# what version of RH are we building for?
%define redhat7 0
...
...
@@ -266,6 +266,8 @@ chmod a+x $RPM_BUILD_ROOT%{libdir}/start.sh
rm -rf $RPM_BUILD_ROOT
%changelog
* Fri Nov 12 2008 Stuart Gathman <stuart@bmsi.com> 0.8.12-1
- Support chgfrom and addrcpt_par
* Sat Oct 11 2008 Stuart Gathman <stuart@bmsi.com> 0.8.11-1
- Support greylisting
- Recognize vacation messages as autoreplies.
...
...
This diff is collapsed.
Click to expand it.
setup.py
+
1
−
1
View file @
f12bcf9a
...
...
@@ -16,7 +16,7 @@ if sys.version < '2.2.3':
DistributionMetadata
.
download_url
=
None
# NOTE: importing Milter to obtain version fails when milter.so not built
setup
(
name
=
"
pymilter
"
,
version
=
'
0.8.1
1
'
,
setup
(
name
=
"
pymilter
"
,
version
=
'
0.8.1
2
'
,
description
=
"
Python interface to sendmail milter API
"
,
long_description
=
"""
\
This is a python extension module to enable python scripts to
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment